Embeddable Common-Lisp

Content from 2005-11

ECL 0.9h released

posted on 2005-11

Apart from important bugs being fixed, this release makes slightly better use of the Boehm-Weiser garbage collector, thereby reducing memory use. Typically, in a linux/x86 box this can be as little as 6Mb of which 2.7Mb are shared libraries (including both lisp and C libraries).

Another highlight of this release are the improvements in the foreign function interface. First of all, callbacks are now supported for all architectures using compiled code. Second, we have new, nonportable code for dynamically accessing C/C++ functions in shared libraries, as well as creating callbacks on the fly. Due to the need for assembly code, this is currently supported on the Intel-x86 architecture only, but can be extended to other ports.

Also of interests are the ASDF routines introduced by Michael Goffioul for building unified FASL files, shared libraries and standalone executables up from a single system definition file. For a simple example see ecls/examples/asdf/readme.lisp

Finally, we have added a new platform to our list: OpenBSD. This port benefits from the changes in ECL's own conservative garbage collector, which, at the cost of being slightly slower, is the only one supported on this operating system.

OpenBSD testers?

posted on 2005-11

Thanks to the latest fixes in ECL's own conservative garbage collector, ECL from CVS sources now builds and runs at least on OpenBSD/x86. The infrastructure in Sourceforge is however very limited (basically, I do not get enough CPU time to run the tests). Hence it would be nice if someone could do some testing on this platform.

For this we suggest that, after building ECL, you check out the ecls-test tree from CVS and run simply "make" from the ecls-test directory. This will run some old tests plus Paul Dietz' ANSI test suite (which is automagically pulled from Savannah's CVS tree).

We are also looking for people that work on porting the dynamically generated callbacks code to PowerPC/OSX.

Finally, I would like to release a new version anytime soon and thus am running the tests on all platforms I have available, and which ECL supports: - Linux on Intel x86 - Linux on Opteron - Linux on Alpha - FreeBSD on x86 - NetBSD on x86 - Windows XP - Mingw32 for Windows XP - Cygwin for Windows XP - Mac OSX - Solaris on Sparc ... There are also rumors that ECL runs also on Itanium, and an AIX port is now under development. :-)