mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-16 06:12:25 -08:00
77 lines
2.7 KiB
Text
77 lines
2.7 KiB
Text
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
|
|
is http://ecls.sourceforge.net, and in it you will find source code
|
|
releases, a CVS tree and some useful documentation.
|
|
|
|
|
|
Known issues
|
|
============
|
|
|
|
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
|
|
spinlocks.
|
|
|
|
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
|
|
needed.
|
|
|
|
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
|
|
|
|
http://ecls.cvs.sourceforge.net/viewvc/ecls/ecl/src/CHANGELOG?view=markup
|
|
|
|
;;; Local Variables: ***
|
|
;;; mode:text ***
|
|
;;; fill-column:69 ***
|
|
;;; End: ***
|