Announcement
============
I am pleased to announce the release of version 0.2 of ECLS.
ECLS stands for Embeddable Common-Lisp "Spain", and I usually read it
as "e-klos". It is a an implementation of the Common-Lisp language
which aims to comply to the ANSI X3J13 definition of the language.
It features
+ A bytecodes compiler and interpreter.
+ A translator to C.
+ An interface to foreign functions.
+ The possibility to build standalone executables.
+ The Common-Lisp Object System (CLOS).
+ Conditions and restarts for handling errors.
+ Sockets as ordinary streams.
+ The Gnu Multiprecision library for fast bignum operations.
+ A simple conservative mark & sweep garbage collector.
+ The Boehm-Weiser garbage collector.
ECLS is now hosted in SourceForge (at http://ecls.sourceforge.net)
This
will avoid old problems with my web server going offline, and it will
provide people with CVS access. Contributors to this project are
welcome.
News in ECLS 0.2
================
* Due to human errors, the bytecompiler shipped with 0.1a was not the
finished version. In 0.1b we shipped a more polished files. Some of
the errors which are fixed are
+ Produce the right code for TAGBODY inside closures
+ Activate compiler for SYMBOL-MACROLET
+ Allow non-keyword symbols as lambda-list-keywords
+ Allow more than one :ALLOW-OTHER-KEYS to be supplied, but
discard other than the first one
+ Process declarations in FLET/LABELS forms
* Fixed the C compiler routines for TAGBODY: it would produce wrong
code when jumping out of a closure.
* Rewrite the error system using KMP's condition system, CLOS and a
rudimentary interface to the toplevel.
* Enclosing the bytecompiler in an UNWIND-PROTECT ensures that the
status of the compiler and of the interpreter is always consistent.
* Port and incorporate Peter Van Eynde's test suite for ANSI
compliance.
* Replace features ECL/ECL-MIN with ECLS and ECLS-MIN.
* Add simple-program-error and simple-control-error to the hierarchy
of conditions, and try to ensure that all routines in libecls.a
signal the right type of condition.
* Define COMPLEMENT and CONTINOUSLY.
* Fix #'= between bignums.
* NIL is no longer valid as the first of a pair of bounding index
designators, i.e. (nstring-upcase "aa" :start nil :end nil) causes
an error.
Distribution
============
You can find further information and source-code release in
SourceForge:
http://ecls.sourceforge.net
The author
==========
The current maintainer of ECLS is
Juan Jose Garcia Ripoll
Univ. de Castilla-La Mancha
E.T.S.I. Industriales
Departamento de Matematicas
c/Camilo Jose Cela, 3
Ciudad Real, E-13071
Spain
········@ind-cr.uclm.es