[Haskell-cafe] Stacking monads
jake at pikewerks.com
Fri Oct 3 16:26:22 EDT 2008
Andrew Coppin wrote:
> I was thinking more, why not just delete MonadPlus completely, and
> have any function that needs a monad that's also a monoid say so in
> its context? (Obviously one of the answers to that is "because it
> would break vast amounts of existing code".)
Because they are not the same. MonadPlus has more restrictions than
Monoid. For an instance of the form "instance MonadPlus m where", m a
_must_ be a Monoid for _all_ a, whereas "instance Monoid (m a) where"
may be defined for some specific a instead.
More information about the Haskell-Cafe