
27 Mar
2010
27 Mar
'10
9:28 p.m.
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