Am Freitag, 11. Januar 2008 11:33 schrieben Sie:
> Wolfgang Jeltsch <[EMAIL PROTECTED]> writes:
> > However, the fact that (0 / 0) == (0 / 0) yields False is quite shocking.
> >  It doesn’t adhere to any meaningful axiom set for Eq.
>
> Tough luck, but that's how floating point works, and what the
> numericalists know, and possibly even love (although I have my
> doubts).  Sanitizing this behavior would make Haskell less usable for
> real-world numerical problems.

The IEEE floating point equivalence test has to yield false when comparing NaN 
with NaN.  Haskell’s (==) has to yield True or undefined when comparing a 
value with itself.  So Haskell’s (==) just has to be different from the IEEE 
floating point equivalence test.  What about providing a separate function 
for the latter?

> As a compromise, what about an option to make NaN (and presumably the
> infinities) cause an immediate exception?  (And, cetero censeo,
> exceptions for Int overflow as well.)

This would be far better (and far more Haskell-like).

> -k

Best wishes,
Wolfgang
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to