NEW! (20141028) GCL 2.6.12 is released. The release
notes can be found here.

NEW! (20140906) GCL 2.6.11 is released. The release
notes can be found here.

NEW! (20131113) GCL 2.6.10 is released. The release
notes can be found here.

NEW! (20130823) GCL will use the git version control
system henceforth. 2.6.8 and 2.6.9 are the last tagged
releases in cvs. All cvs tags and branches have been
converted into git. In addition, the cvs experimental branch
has been merged into master, and several git-only commits on
this branch have already been made. Eventually, the master
branch will be released as 2.7.0.

NEW! (20130823) GCL 2.6.8 and 2.6.9 are released. The
release notes can be found
here and here.

NEW! (20050810) GCL 2.6.7 is released. The release
notes can be found here.

NEW! (20050427) Patch added to the errata page to
reenable support for si::run-process on linux.

NEW! (20050402) Support for new texinfo format and
precompiled regexp searching posted to errata page.

NEW! (20050330) ERRATA page for 2.6.6 updated.
Control-D on a fresh line was not exiting GCL when readline
was on. Also, libreadline5-dev support in debian/control.

NEW! (20050225) ERRATA page for 2.6.6 started here.. So far just one entry,
supplying a patch to enable (listen) to work when readline is
enabled. One can also workaround the bug with
(si::readline-off).

NEW! (20050119) GCL 2.6.6 is released. The release
notes can be found here.

NEW! (20041124) Newer binutils don't define _raw_size
in their section structure. A patch is included on the errata
page fixing this. The patch works with the older versions
too.

NEW! (20050113) Patches added to the errata page
allowing compile-file to process pathnames with whitespace on
Windows, and explicitly ensuring brk added pages are
executable on all x86 Linux, the latter in response to the
policy change regarding same in Fedora Core 3.

NEW! (20040823) An errata page to 2.6.5 on Sun Solaris
has been added here . This
fixes a problem which may arise in the loader with certain
gcc/ld combinations when C optimization is in force.

NEW! (20040817) Version 2.6.5 is released. Please read
the release notes together with some new timing results here .

GCL is the official Common Lisp for the GNU project. Its
design makes use of the system's C compiler to compile to
native object code, providing for both good performance and
facile portability. GCL currently compiles itself and the
primary free software Lisp applications, Maxima , ACL2 and
Axiom, on eleven
GNU/Linux architectures (x86 powerpc s390 sparc arm alpha ia64
hppa m68k mips mipsel), Windows, Sparc Solaris, and FreeBSD.
On most platforms, GCL can load native object code modules
directly into its lisp core, where they are preserved in any
custom lisp images produced via the save-system call.

While GCL was originally designed to meet the CLtL1 standard,
recent development has brought GCL much of the way toward its
current goal -- full ANSI compliance. An ANSI regression test
suite is being developed as part of this effort. As of the
time of this writing, the new ANSI behavior is enabled
optionally at compile time with the configure switch
--enable-ansi.

Several GCL extensions exist, and are in various stages of
incorporation. xgcl, providing a Lisp interface to the X
Windows system, is included in the main source tree. pargcl,
an MPI extension
enabling lisp programs to run in parallel across computing
clusters, will be incorporated soon. These efforts are good
examples of GCL's foreign function interface, which is rather
flexible due to its close relationship with C.

Other Features:

Very efficient. A function call is basically the same speed
as a C function call, in fact identical to a C function call
via a pointer.

A source level Lisp debugger (dbl) for interpreted
code, letting you step a line at a time, while displaying the your
position in an Emacs window. This is invaluable when trying to
understand large systems.

Pioneered conservative Garbage Collection schemes.

Has a garbage collection scheme, for only recent allocations,
based on native page fault handling. This is the stratified garbage
collection (SGC).

Very reliable.

Built in interface to Tk widget system. Allows a mixture
of tcl and common lisp to be used in a user interface--your choice
which you use.

History

GCL is the product of many hands over many years. The original
effort was known as the Kyoto Common Lisp system, written by
Taiichi Yuasa and Masami Hagiya in 1984. In 1987 new work was
begun by William Schelter, and that version of the system was
called AKCL (Austin Kyoto Common Lisp). In 1994 AKCL was
released as GCL (GNU Common Lisp) under the GNU public library
license. The primary purpose of GCL during that phase of it's
existence was to support the Maxima computer algebra system,
also maintained by Dr. Schelter. It existed largely as a
subproject of Maxima.

After the passing of Dr. Schelter in 2001, it was decided
that GCL should be actively maintained and improved. GCL is
currently maintained by a team of 12 developers across the
world coordinated via the gcl-devel
mailing list.