[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: (arbitrary precision) long float implementation for free

From: Camm Maguire
Subject: [Gcl-devel] Re: (arbitrary precision) long float implementation for free lisp's other than clisp ???
Date: 05 May 2005 15:25:42 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

The following message is a courtesy copy of an article
that has been posted to comp.lang.lisp as well.

Greetings, and thanks for your interest!

In summary, GCL already has an interface to gmp, the highly optimized
external library for multiple-precision integer computations.  It is a
simple task, and on our todo list, to extend this to bring forward the
floating point calls as well, which has now been branched into a
separate library, mfpr.  If you have a specific need with real code,
we will bump the priority on this.  It is not difficult.  Open source
projects take higher priority in GCL development, so if your code is
open source, you'll get more attention from us!

The other poster is correct, though, the main performance issue with
multi-precision stuff is due to garbage collection.  GCL has a multi
layer model, with different types of objects segregated of different
page types, and in some cases gc'd differently.  By default, GCL uses
a fast copying collector on bignums which are stored on relocatable
pages.  This is quite robust now having been thoroughly tested in a
number of computer algebra systems such as axiom making heavy use of
this functionality.  The user can switch to a slower immovable type of
allocation at runtime, but this is really an obsolete option at this

GCL has also recently implemented a memory balancing algorithm that
has significantly reduced gc times in a number of large applications.
acl2 comes to mind, where now gcl is the fastest lisp as measured in
their regression suite times among their handful of supported

CLOS is supported in GCL currently via PCL in the ansi build.  GCL
supports both traditional CLtL1 and ANSI images, the latter of which
is a work in progress and not yet 100% compliant, though it is good
enough for many purposes.  The primary goal of the 2.7.0 release,
hopefully out by summer's end, will be substantively full ansi
compliance.  Paul Diets has developed a very helpful ansi test suite
for the GCL project to assist in this effort.  The PCL code
essentially tracks the same code used by cmucl and sbcl, which is
known to perform quite acceptably, and provides an easy compliance
path for GCL to follow.

GCL is the basis for maxima, acl2, and axiom on Debian, and supports
all 12 Debian architectures in this regard.

If you would like to assist GCL in its development, please join in at
address@hidden  Like any open source project, we can always use
the person power.

Please also note that the GCL developers are quite busy and have very
little time for a newsgroup like this.  Questions should be directed
to address@hidden

Take care, 

Onay  <address@hidden> writes:

> hi, 
> coming from the c/c++ fraction, i am a newbie in cl, trying out some
> free cl-environments. 
> I tried gnu cl (gcl 2.6.6) and clisp 2.33.2. 
> I like both, but i prefer clisp since it has built in support for long
> floats. On the other hand, clisp does not have a native code compiler (to
> my understanding), but has a byte-code compiler. So i have some questions
> to you lisp people:
> * is there any possibility for (arbitrary precision) long floats as an
> extension/library for gcl?
> * does a PCL extension to support CLOS in gcl yield a slow CLOS
> implementation ??
> * is there a clos implementation in cvs gcl already ??
> I must admit i begin to love common lisp for its genericity and power...
> thanks in advance
> oni
> -- 
> (I already try to be as amusing as possible, my master!)

Camm Maguire                                            address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]