On Tue, Sep 4, 2012 at 3:39 AM, Alberto G. Corona <agocor...@gmail.com>wrote:
> "Monads are monoids in the category of endofunctors" > > This Monoid instance for the endofunctors of the set of all elements > of (m a) typematch in Haskell with FlexibleInstances: > > instance Monad m => Monoid (a -> m a) where > mappend = (>=>) -- kleisly operator > mempty = return > The objects of a Kliesli category for a monad m aren't endofunctors. You want something like: instance Monad m => Monoid (m a -> m (m a)) where ... /These/ are endofunctors, in virtue of join transforming an m (m a) into an (m a).
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe