From: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
To: guile-user@gnu.org
Subject: Re: Potluck dish -- a game
Date: Wed, 19 Feb 2014 09:29:28 +0000 [thread overview]
Message-ID: <53047978.4080709@fuuzetsu.co.uk> (raw)
In-Reply-To: <50aedf88.3aaa5982.530470e7.78850@o2.pl>
On 19/02/14 08:52, Ścisław Dercz wrote:
> Hi Mateusz!
>
> Nice to meet someone mathematically-oriented! I'm delighted with your care
> about the proper use of algebraic language and am always eager to be
> corrected. However this time there is no need to do so -- it IS a monoid,
> one of those you meet almost everywhere, i.e. a monoid of X->X
> transformations. The identity map is it's neutral element (identity, unit)
> and composition (X->X)x(X->X)->(X->X) is its action. Notice that it is not
> a group since some transformations cannot be reverted -- e.g. the ones
> produced with mk-remover.
> The code is a bit messy and it mostly comes from a one-night hackaton, and
> I will not be able to polish it until next weekend for sure.
> I will translate the Polish comments. At the moment I can only provide you
> with the last one, a neat mixture of Gombrowicz and Maslowska: "koniec
> bomba a kto czytal ten ssie galy eurocwelom" -- the translation does not
> seem trivial, perhaps something like "The end and the bomb, who read is an
> euro-pansy cocksucker" -- however it might look a bit homophobic (as many
> Polish curses do), perhaps you or Panicz could propose something better?
Personally I'd just remove it but it's fully up to you. I simply thought
that you might have forgotten to remove some comments as some are in
English and some aren't.
> Greeting,
> d.
>
> PS I just found your answer, so now I guess we do agree on the monoid
> thing?
Yes, I inspected it again when posting again and I can now see what you
were going for. I imagine that commenting on code shouldn't have been
the first thing I did after waking up. My apologies.
> As of monads I do understand that the class of endofunctors with
> composition and identity as unit form a monoid, no doubt, that's the
> construction I mentioned at the beginning.
My only gripe is that I'm unsure whether guile functions can be
considered (endo-)functors and if they do, I'd love to see what kind of
category Guile forms. I can't find any material exploring this. With
Haskell, the deal is simple, we have Hask (which is admittedly a bit
boring due to presence of ‘undefined’)[1].
> But that's the monad-monoid relation in the direction opposite to what I
> was asking for. And technically I am not sure whether "the endofunctor
> definition" applies to Kleisli triplets (which you probably meant) that
> easily, as it seems either broader, or that the "all told" part hides some
> important constraints, like that the category C you consider has enough
> means (perhaps binary products or some other universal constructions) to
> represent "the new type" T(A) for any A in C... But again, I am an ignorant
> so please do correct me.
It was only a remark that such monoids can indeed have something to do
with monads, I meant nothing more. There's an interesting blog post on
embedding the endofunctor monoid inside of Haskell[2] and presenting its
laws, which give us the monad laws. I imagine you know this already but
someone else might find it a nice read.
[1]: http://www.haskell.org/haskellwiki/Hask
[2]: http://blog.sigfpe.com/2008/11/from-monoids-to-monads.html
--
Mateusz K.
next prev parent reply other threads:[~2014-02-19 9:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-19 8:52 Potluck dish -- a game Ścisław Dercz
2014-02-19 9:29 ` Mateusz Kowalczyk [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-02-18 8:53 Panicz Maciej Godek
2014-02-18 18:27 ` Thompson, David
[not found] ` <65039e94.7e98f6f.5303d83f.9a82a@o2.pl>
2014-02-18 22:09 ` Panicz Maciej Godek
2014-02-19 3:10 ` Mateusz Kowalczyk
2014-02-19 7:28 ` Ścisław Dercz
2014-02-19 8:02 ` Mateusz Kowalczyk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53047978.4080709@fuuzetsu.co.uk \
--to=fuuzetsu@fuuzetsu.co.uk \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).