[Haskell-cafe] Re: A question about "monad laws"
Roman Leshchinskiy
rl at cse.unsw.edu.au
Thu Feb 14 17:41:02 EST 2008
Aaron Denney wrote:
> On 2008-02-14, Roman Leshchinskiy <rl at cse.unsw.edu.au> wrote:
>> Richard A. O'Keefe wrote:
>
>>> SafeInt is what you should use when you *THINK* your results should all fit
>>> in a machine int but aren't perfectly sure. (And this is nearly all the
>>> time.)
>> Again, I strongly disagree. You should use Integer unless your program
>> is too slow and profiling shows that Integer is the culprit. If and only
>> if that is the case should you think about alternatives. That said, I
>> doubt that your SafeInt would be significantly faster than Integer.
>
> Why? GMP is pretty good, but it's not going to be anywhere near
> hardware speeds.
This how Integer is defined in the libraries:
data Integer
= S# Int# -- small integers
| J# Int# ByteArray# -- large integers
As long as the Int# doesn't overflow, you don't call any GMP routines.
Roman
More information about the Haskell-Cafe
mailing list