On 28/03/2010, at 09:47, Lennart Augustsson wrote: > It's important to switch from mod to rem. This can be done by a > simple abstract interpretation.
Also, changing the definition of rem from a `rem` b | b == 0 = divZeroError | a == minBound && b == (-1) = overflowError | otherwise = a `remInt` b to a `rem` b | b == 0 = divZeroError | b == (-1) && a == minBound = overflowError | otherwise = a `remInt` b speeds up the GHC version by about 20%. Figuring out why is left as an exercise to the reader :-) Roman _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe