> | 2.- In the declaration of the Eq class, (/=) has a default declaration, 
> |      but (==) has not. Why?
> |      If (==) has also a default declaration (ie: not (x/=y)) you could choose
> |      whether to define (==) or (/=) or both when declaring an instance.
> |      The same applies to Ord and (<=).
> 
> I don't know.  It would be sensible for it to have one.

Maybe because if you defined them both, people might accidentally declare an empty
instance, rendering both functions non-terminating.  Such stupid mistakes can be
hard to track down... (then again, who would declare an empty Eq??)

Frank



Reply via email to