On Fri, Jun 03, 2011 at 12:49:26PM -0400, John Cowan wrote: > Steve Graham scripsit: > > > Thanks, Mario. Worked like a charm. Why is that not part of the base > > package? > > Licensing. The numbers egg has to be GPL, because it depends on the GMP > (GNU Multi-precision Library) which is GPL.
This is no longer true and hasn't been for over a year now. The current "numbers" code is a heavily modified version of Scheme48's code, which is itself based on the MIT Scheme code which was BSD-licensed at some point in time. > The overall license for Chicken, however, is BSD. > There are alternatives to the GMP, but it is > the gold standard: fast, accurate, space-conserving. The GMP-based numbers egg was actually very slow because it made heavy use of finalizers and malloc()ed memory. The new code is a bit faster. Probably a GMP-based numbers egg which uses Chicken-managed memory would be faster still, but the license annoys me and I still have hopes to get bignums in Chicken core someday :) It's not in core mostly because it would make things slower (though I'm not 100% convinced of that; there's type dispatching for fixnums/flonums already anyway) and because it is an extra-large additional pile of code. Cheers, Peter -- http://sjamaan.ath.cx -- "The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music." -- Donald Knuth _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users