superclass implications

Ashley Yakeley ashley at semantic.org
Tue Feb 21 21:12:33 EST 2006


Claus Reinke wrote:
>>    >   class Monad m => MonadPlus m    if  <..oops..>
> 
> if Monad m, then declare MonadPlus m as follows..

This gloss doesn't make sense. The act of declaration is a constant 
static property of the module, and cannot be conditional on the property 
of a variable. The module _always_ declares the class.

A sensible gloss should begin "Declare MonadPlus to be a class on m such 
that (Monad m) and..." with the understanding that "m" is quantified by 
"Declare MonadPlus to be a class on m".

-- 
Ashley Yakeley



More information about the Haskell-prime mailing list