integer-simple by default
ml at isaac.cedarswampstudios.org
Sat Feb 20 14:47:30 EST 2010
On 02/20/10 14:11, Greg Fitzgerald wrote:
>> You can dynamically link libgmp on windows. That might be easier:
> Do you know if the dynamic link escape hatch has ever held up in
> court? Last time I looked into it, the free software community had
> mixed opinions.
GMP is under LGPL, which is designed for this very purpose: to allow
proprietary code to link to it as long as it is easy to replace the Free
code with a different version of Free code (for example, by replacing a
dynamic library). Is there any reason to doubt the FSF's efforts? (Note
that LGPL doesn't work as well for Haskell code as for C code because
Haskell compilers tend to do a lot more inlining; but GMP is C code.)
> In any case, giving GMP the boot alleviates any
> licensing concerns, makes the GHC build a little simpler, and allows
> users to create standalone executables.
However the 3-clause BSD license is obviously at least somewhat simpler
> Is there any reason we
> shouldn't attempt to make integer-simple the default?
If you know that none of your code or libraries are using any
particularly large integers [how would you know, though?], then it
should perform alright. GMP, however, is the result of years of work
making operations on integers large and small be reasonably performant
-- work that Haskell would be foolhardy to duplicate, I'm guessing.
(Depending what our standards are... Is reasonable performance for
multiplying integers less than 320 bits long, say, good enough? What
happens when someone wants state-of-the-art performance? Is a
nonstandard-Integer-type GMP-binding sufficient for these uses?)
More information about the Glasgow-haskell-users