MR K P SCHUPKE wrote: > >Double already has +Inf and -Inf; it's just that Haskell doesn't have > >(AFAIK) syntax to write them as constants. > > In the source for the GHC libraries it uses 1/0 for +Infinity > and -1/0 for -Infinity, so I assume these are the "official" way to do it. > > Personally I would define nicer names: > > positiveInfinity :: Double > positiveInfinity = 1/0 > > negativeInfinity :: Double > negativeInfinity = -1/0
Or just: infinity = 1/0 and use -infinity for the negative. One other nit: isn't the read/show syntax for Haskell98 types supposed to valid Haskell syntax? >From http://www.haskell.org/onlinereport/derived.html#derived-text The result of show is a syntactically correct Haskell expression containing only constants, given the fixity declarations in force at the point where the type is declared. [Note: the above sentecne refers specifically to derived instances, but induction would require that it also holds for base types.] However: Prelude> let infinity = 1/0 :: Double Prelude> show infinity "Infinity" Prelude> read (show infinity) :: Double Infinity Prelude> Infinity <interactive>:1: Data constructor not in scope: `Infinity' -- Glynn Clements <[EMAIL PROTECTED]> _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe