Hi,
Uwe Schmidt wrote:
In the standard Haskell classes we can find both cases,
even within a single class.
Eq with (==) as f and (/=) as g belongs to the 1. case
Note that the case of (==) and (/=) is slightly different, because not
only can (/=) be defined in terms (==), but also the other way around.
The default definitions of (==) and (/=) are mutually recursive, and
trivially nonterminating. This leaves the choice to the instance writer
to either implement (==) or (/=). Or, for performance reasons, both.
Tillmann
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe