> One of the points I remember from the early monad papers was the key issue
> that the type system did *not* have to be changed and straight
> Hindley/Milner was fine. 

You don't need to change the type system, if you like all your return,
bind operators to have different names depending on the monad their in
(note that in the early monad papers we found bindSM, returnSM, bindI,
returnI, etc...). The Constructor Class Extension simply allows you to
name all these operators the same way (call all your return operators
return), as the type classes you to name all your addition operators
+. It simply allows you to overload the names... And note that this
can't be done within the framework of type classes.

-- Dirk

Reply via email to