Hi,

there's difference in behaviour of how Integers are coerced Ints
between Hugs(98) and ghc. 

   Prelude> (0x80000000 :: Int)

   Program error: {primIntegerToInt 2147483648}

   Prelude> (maxBound::Int) + 1
   -2147483648
   Prelude> 

ghc's conversion of Integers is modulo maxInt, i.e.,

   (maxBound :: Int) + 1 == (0x80000000::Int)

is True.

That's consistent & handy, but whatever the behaviour used, it'd be
oh-so convenient if the two implementations agreed.

--sigbjorn

Reply via email to