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

Reply via email to