andrewcoppin at btinternet.com
Fri May 9 15:39:38 EDT 2008
OK, so I feel I understand monads fine. I regularly use Maybe,  and
IO, and I've even constructed a few monads of my own. But here's a
question: what is the purpose of the MonadPlus class?
Clearly it defines a binary operation over monadic values and an
identity element for that operation. But... what is this supposed to
*do*? (For example, (>>) has an almost identical signature to mplus. But
presumably they don't both do the same thing...) What functionallity is
this supposed to give you?
[In a somewhat unrelated question... I saw some code the other day that
used Either as if it were a monad. And yet, I don't see an instance
given in the standard libraries - even though there should be one. I can
see Functor (Either a), but not Monad (Either a) or even Monad (Either
More information about the Haskell-Cafe