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

Reply via email to