David Menendez wrote:

Philip Wadler listed those as the laws he "would usually insist on" in a
1997 message[1].

   [1] <http://www.dcs.gla.ac.uk/mail-www/haskell/msg00057.html>

He also mentions two other possible, but problematic, laws:

   m >>= \x -> mzero           == mzero
   m >>= \x -> k x `mplus` h x == m >>= k `mplus` m >>= h

The first doesn't hold when m is bottom. The second doesn't hold for
lists.


I would like to know what category MonadPlus represents... A Monad is a category
where the objects are functors and the operators are id and product both of which
are natural transformations... Presumably the 'laws' for a monad can be derived from this
statement.


I cannot find any reference to MonadPlus in category theory. At a guess I would say that
it was the same as a Monad except the operators are id and co-product (or sum)... That would mean the 'laws' would be exactly the same as a Monad, just with (0,+) instead of (1,*)...


   Keean.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to