<div>Announcement of ECL</div><div>===================</div><div><br></div><div>ECL stands for Embeddable Common-Lisp. The ECL project aims to</div><div>produce an implementation of the Common-Lisp language which complies</div>

<div>to the ANSI X3J13 definition of the language.</div><div><br></div><div>The term embeddable refers to the fact that ECL includes a lisp to C</div><div>compiler, which produces libraries (static or dynamic) that can be</div>

<div>called from C programs. Furthermore, ECL can produce standalone</div><div>executables from your lisp code and can itself be linked to your</div><div>programs as a shared library.</div><div><br></div><div>ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD,</div>

<div>Solaris (at least v. 9), Microsoft Windows and OSX, running on top of</div><div>the Intel, Sparc, Alpha and PowerPC processors. Porting to other</div><div>architectures should be rather easy.</div><div><br></div><div>

ECL is currently hosted at SourceForge. The home page of the project</div><div>is <a href="http://ecls.sourceforge.net">http://ecls.sourceforge.net</a>, and in it you will find source code</div><div>releases, a CVS tree and some useful documentation.</div>

<div><br></div><div><br></div><div>Known issues</div><div>============</div><div><br></div><div>This release is the first one with the new multithreading library,</div><div>which no longer relies on the POSIX mutexes, condition variables and</div>

<div>semaphores. Instead, ECL makes use of libatomic-ops to implement</div><div>userspace routines for process communication (mailboxes), resource</div><div>sharing (locks, condition variables, counting semaphores) and fast</div>

<div>spinlocks.</div><div><br></div><div>Due to the new implementation, it is likely that some corner cases</div><div>may appear during use. In this case we would like to ask you to</div><div>report a reproducible test case to ECL's bug tracker and we will</div>

<div>provide a solution as soon as possible, with a new release, if</div><div>needed.</div><div><br></div><div>In addition to this, the following problems persist:</div><div><br></div><div>* Cygwin's library is still broken: fork/exec fails to reload the</div>

<div>  cygwin library, or ECL's compiled libraries in a completely random</div><div>  fashion. For this reason we recommend using ext:system instead of</div><div>  ext:run-program in that platform.</div><div><br></div>

<div>* In Windows ECL comes with bytecodes compiler by default, because C</div><div>  compilers are normally not avaiable. Unfortunately several</div><div>  libraries out there are not prepared for this. If you plan to use</div>

<div>  quicklisp and have a C compiler accessible to ECL, you may use</div><div>  (ext:install-c-compiler) to switch back to the Lisp-to-C compiler.</div><div><br></div><div><br></div><div>Changes since last release</div>

<div>==========================</div><div><br></div><div>Some highlights of this release are:</div><div><br></div><div>* The multithreading library.</div><div><br></div><div>* Complete support for MOP.</div><div><br></div>

<div>* Speed improvements in areas such as slot accessors.</div><div><br></div><div>* Common Lisp code can now trap and capture Unix interrupts, though</div><div>  the processing is asynchronous for all but the critical ones.</div>

<div><br></div><div>* Lots and lots of fixes.</div><div><br></div><div>See file src/CHANGELOG or browse it online</div><div><br></div><div><a href="http://ecls.cvs.sourceforge.net/viewvc/ecls/ecl/src/CHANGELOG?view=markup">http://ecls.cvs.sourceforge.net/viewvc/ecls/ecl/src/CHANGELOG?view=markup</a></div>

<div><br></div><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>