integer-simple by default

Isaac Dupree 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 
for lawyers.

> 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?)

-Isaac


More information about the Glasgow-haskell-users mailing list