Announcement of ECL
ECL stands for Embeddable Common-Lisp. The ECL project aims to
produce an implementation of the Common-Lisp language which complies
to the ANSI X3J13 definition of the language.
The term embeddable refers to the fact that ECL includes a lisp to C
compiler, which produces libraries (static or dynamic) that can be
called from C programs. Furthermore, ECL can produce standalone
executables from your lisp code and can itself be linked to your
programs as a shared library.
ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD,
Solaris (at least v. 9), Microsoft Windows and OSX, running on top of
the Intel, Sparc, Alpha and PowerPC processors. Porting to other
architectures should be rather easy.
ECL is currently hosted at SourceForge. The home page of the project
releases, a CVS tree and some useful documentation.
This release is the first one with the new multithreading library,
which no longer relies on the POSIX mutexes, condition variables and
semaphores. Instead, ECL makes use of libatomic-ops to implement
userspace routines for process communication (mailboxes), resource
sharing (locks, condition variables, counting semaphores) and fast
Due to the new implementation, it is likely that some corner cases
may appear during use. In this case we would like to ask you to
report a reproducible test case to ECL's bug tracker and we will
provide a solution as soon as possible, with a new release, if
In addition to this, the following problems persist:
* Cygwin's library is still broken: fork/exec fails to reload the
cygwin library, or ECL's compiled libraries in a completely random
fashion. For this reason we recommend using ext:system instead of
ext:run-program in that platform.
* In Windows ECL comes with bytecodes compiler by default, because C
compilers are normally not avaiable. Unfortunately several
libraries out there are not prepared for this. If you plan to use
quicklisp and have a C compiler accessible to ECL, you may use
(ext:install-c-compiler) to switch back to the Lisp-to-C compiler.
Changes since last release
Some highlights of this release are:
* The multithreading library.
* Complete support for MOP.
* Speed improvements in areas such as slot accessors.
* Common Lisp code can now trap and capture Unix interrupts, though
the processing is asynchronous for all but the critical ones.
* Lots and lots of fixes.
See file src/CHANGELOG or browse it online
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)