On Thu, 2008-01-17 at 03:16 +0100, Mitar wrote: > Hi! > > On Jan 11, 2008 7:30 AM, Cristian Baboi <[EMAIL PROTECTED]> wrote: > > NaN is not 'undefined' > > Why not? What is a semantic difference? I believe Haskell should use > undefined instead of NaN for all operations which are mathematically > undefined (like 0/0). NaN should be used in a languages which does not > support such nice Haskell features. Because if Haskell would use > undefined such error would propagate itself to higher levels of > computations, with NaN it does not. > > if bigComputation > 1 > then ... > else ... > > Would be evaluating else semantically correct if bigComputation > returns NaN? No, it is not. With undefined this is correctly > (not)evaluated.
For the love of Pete, floating point numbers are not real numbers. 0/0 is mathematically defined for floating point numbers to be NaN. If you don't want to use IEEE floating point numbers, use a different type as was suggested early in this thread. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe