[Haskell-cafe] Justification for Ord inheriting from Eq?
Robert Dockins
robdockins at fastmail.fm
Thu Apr 6 19:00:43 EDT 2006
On Thursday 06 April 2006 06:44 pm, John Meacham wrote:
> On Thu, Apr 06, 2006 at 10:52:52PM +0100, Brian Hulley wrote:
[snip a question about Eq and Ord classes]
> well, there are a few reasons you would want to use inheritance in
> haskell, some good, some bad.
>
> 1. one really does logically derive from the other, Eq and Ord are like
> this, the rules of Eq says it must be an equivalance relation and that
> Ord defines a total order over that equivalance relation. this is a good
> thing, as it lets you write code that depends on these properties.
<PUBLIC SERVICE ANNOUNCEMENT>
Many of you probably know this already, but for those who might not know:
Prelude> let x = read "NaN" :: Float
Prelude> x == x
False
Prelude> x == 0
False
Prelude> 0 < x
False
Prelude> x < 0
False
Ewwwwww! Be careful how far you depend on properties of typeclasses, and make
sure you document it when you do.
<we now return to you regularly scheduled discussion>
Rob Dockins
More information about the Haskell-Cafe
mailing list