G'day again.

Quoting Robert Dockins <[EMAIL PROTECTED]>:

> There are a number of methods which take a monad context and call
> 'fail' (rather than error) under some conditions, usually when the
> data structure is empty

[...]

> I am considering moving to a MonadPlus context and calling 'mzero' in
> the failure case.

The problem with MonadPlus is that you don't actually need the Plus
functionality.  It is usually considered good design to only require
what you need, and Monad already has "fail".

There has been some discussion on haskell-prime about resurrecting the
MonadZero class, for monads with mzero but not mappend.  This would be
the closest fit, but then, you might want to consider that some people
would appreciate having the string diagnostic.

Cheers,
Andrew Bromage
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to