MonadPlus [was: None]

Tom Pledger Tom.Pledger at peace.com
Fri Oct 17 10:06:18 EDT 2003


Doug McIlroy writes:
 | In Hugs 1.4, ++ was an operator of class Monad; in Hugs 98 it is
 | an operator on lists.  I've looked in the Hugs documentation and
 | haven't found anything about the change (probably a failing of
 | mine, not the documentation).   
 | 
 | Anyway, that breaks some code in an article that's been accepted
 | for JFP, wherein I overloaded ++ by placing the operand type in
 | class Monad.  This doesn't work any more.
 | 
 | I don't want to publish code that doesn't work, and I don't want
 | to give up that overloading, which is completely natural.  Can
 | you shed any light on what happened between the two versions?
 | Or offer an idea about how to rescue the overloading?

Hi.

It was in the transition from Haskell 1.4 to Haskell 98 that (++) was
taken out of class MonadPlus and became list-specific.  I think it had
something to do with simplifying error messages.

MonadPlus is still there, but the overloaded operator in question is
now called `mplus`.

Regards,
Tom



More information about the Hugs-Bugs mailing list