Sebastian Sylvan wrote:
Not quite the same complaint, but I've always been bothered by the
inconsistent use of "=>". I would prefer "A => B" to mean "if A, then
B". Accordingly:
class Monad m <= MonadPlus m
By your definition, couldn't what we have now (class Monad m =>
MonadPlus m) be read as "If m is in the Monad class, then the class
MonadPlus can be defined for m thusly:...", which seems pretty clear
to me.
Not to me. It's like saying "If f is a piece of furniture, then the set
of chairs can be defined for f thusly", which seems equally unclear to me.
If m is in the Monad class... then what? It's not necessarily in the
MonadPlus class. No useful inference can be drawn this way. What we mean
to say instead is "if m is in the MonadPlus class, then it is in the
Monad class".
--
Ashley Yakeley
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime