Announcement of ECLS v0.4
=========================
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.
ECLS 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 an up to date documentation.
Notes about ECLS 0.4
====================
This release represents a major improvement over previous ones in
the number of supported platforms:
- Debian Linux on Intel
- Debian Linux on PowerPC
- FreeBSD 4.x on Intel
- Cygwin on Microsoft Windows 2000
Besides, the code has been revised and porting should now be easier.
ECLS 0.4
=========
* Errors fixed:
- Fixnum product would overflow: (* 65536 32768) => negative number.
- Bit fiddling operations with negative fixnums now work (i.e.
LOGAND, LOGOR, LOGBITP, etc).
- When a PRINT-OBJECT method prints a circular structure which is itself
in another circular structure, the stack that keeps temporary data
may get deleted.
- Format clause "~<" now accepts any number of text segments.
- Format clause "~E" should not add spurious zeros past the decimal
dot. I.e. (format nil "~13,6,2,7E" 3.14159) should output "
3141590.E-06", not "3141590.0E-06". Similar problem happened to
"~F", which added a traling zero even when number of decimal
positions was specified as zero.
* System design and portability:
- Ported to Debian Linux PPC and Cygwin.
- Small changes allow a static build of the executable in platforms
where either dlopen() does not work, or ld does not allow
undefined symbols in libraries.
- Remove unportable code of the type "va_list d = cs".
- Simplify gathering of &rest and &key arguments in compiled code.
- Make the interpreter stack public, with variables and functions
prefixed with "cl_stack*".
- Remove the Invocation History Stack, and implement it as a "linked
list" of frame records on top of the interpreter stack. This
avoids previous size limitations.
- Compile code onto the interpreter stack instead of using a stack
of its own.
- Use the interpreter stack to simplify the implementations of the
printer and of the formater.
* Visible changes and ANSI compatibility:
- MAKE-PATHNAME now accepts all combinations denoted by ANSI. Namely,
(MAKE-PATHNAME :directory :wild), etc.
- :UNSPECIFIC is only allowed in pathname's version and in a logical
pathname's device.
- MSDOS style namestrings, such as "c:/my/path/to/this/file.txt" and
"//c/my/path/to/this/file.txt" finally work. Beware that these
paths are also allowed under Unix, even though they cause errors
when trying to access files. Besides (EQUALP #P"c:/foo/file.txt"
#P"//c/path/file.txt") => NIL
- (DECLARE (OPTIMIZE DEBUG)) is ignored, but no warning is printed.
- Implemented WITH-STANDARD-IO-SYNTAX.
--
Juan Jose Garcia Ripoll www: http://www.arrakis.es/~worm/
The tarball at <http://ecls.sourceforge.net/ecls.tgz> seems to be
broken. It is exactly 65536 bytes long (which seems suspicious) and
gunzip complains about an unexpected EOF.
Best regards,
Edi.
Juan Jose Garcia Ripoll <····@arrakis.es> writes:
> Announcement of ECLS v0.4
> =========================
>
> 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.
>
> ECLS 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 an up to date documentation.
Dr. Edmund Weitz <···@agharta.de> escribi� en el mensaje de noticias
··············@bird.agharta.de...
> The tarball at <http://ecls.sourceforge.net/ecls.tgz> seems to be
> broken. It is exactly 65536 bytes long (which seems suspicious) and
> gunzip complains about an unexpected EOF.
Fixed! The tarball in the home page was broken, but the file in
Sourceforge's release system was ok, though.
Juanjo