The following is independent of whether MonadPlus is moved to the library
or not. Therefore I dare to raise a new issue that is related to monads ...

As I understand it, class Monad now contains fail and the IO monad is no
longer a subclass of Monad. Wouldn't it be nice, then, to add a predicate
  isZero :: m a -> Bool
(or similar) to MonadPlus, whose purpose is to distinguish the value of
mzero? All datatypes which are instances of MonadPlus already have such
a predicate, or at least it could be implemented easily. To my knowledge,
the IO monad was the only example that did not allow such a predicate.
Since this obstacle is gone, datatype interfaces could be unified a bit
more.

Klaus

--
Klaus Barthelmann, Johannes Gutenberg-Universitat, Institut fur Informatik,
D-55099 Mainz, Germany
[EMAIL PROTECTED]


Reply via email to