
12 Mar
2008
12 Mar
'08
3:31 p.m.
Remi Turk wrote:
I wouldn't bet on it either:
Prelude> 0.0 == -0.0 True Prelude> isNegativeZero 0.0 == isNegativeZero (-0.0) False
Although isNegativeZero might be considered a ``private, "internal" interface that exposes implementation details.''
Interesting example. So is the correct conclusion from this that all (polymorphic) code that assumes (x == y) = True implies x=y is inherently broken, or is just this particular Eq instance that's broken? Regards -- Adrian Hey