[Haskell-cafe] Re: What are the MonadPlus laws?

Keean Schupke k.schupke at imperial.ac.uk
Wed Jan 26 03:41:33 EST 2005


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.



More information about the Haskell-Cafe mailing list