***I meant the *unit* of the monoid free-forgetful monad, of course.
Sent: Friday, December 08, 2017 at 8:32 AM
From: "Manny Romero" <mannyromero@mail.com>
To: beginners@haskell.org
Subject: [Haskell-beginners] Addendum: Monoid algebra
Clarification: I see now that an algebra is not, in fact, a natural transformation, but rather a single morphism from an object's endofunctor image back to the object itself. But my puzzlement still remains! If X = {a, b, c}, then the monoid free-forgetful monad*** will map X to T X = {[], [a], [b], [c], [a, a], [a,b], ... } in precisely the following way: {a -> [a], b -> [b], c -> [c]}. How might a monoid algebra map TX back to X ?
 
Sent: Friday, December 08, 2017 at 8:07 AM
From: "Manny Romero" <mannyromero@mail.com>
To: beginners@haskell.org
Subject: [Haskell-beginners] Monoid algebra
I'm having trouble understanding the idea of an algebra using everybody's favorite example, the monoid. What I want, to clarify, is to get some intuition on characterizing the algebra of the free-forgetful monoid adjunction.
 
If F is the free monoid functor, and G is its right adjoint, then G . F is our monad on SET; and its unit eta is a natural transformation taking every set X to the set (G . F) X ("set of words on the alphabet X") in such a way that every element x in X is mapped to its "singleton word" [x]. "Insertion of generators."
 
I'm having trouble, on the other hand, understanding how an algebra could establish a natural transformation between the set (G . F) X for any set X, back to X itself. How would those morphisms map the elements of (G . F) X ? Aren't these algebras supposed to "represent" the various monoids on X? But it isn't generally true that a monoid operation maps back to the set of *generators*. I know I'm missing something here, but what is it? Clarify these natural transformations for me, in "mundane" "baby" monoid-describing language!
 
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners