[Ecls-list] ECLS 0.4-beta on Windows, testers wanted
Juan Jose Garcia Ripoll
worm at arrakis.es
Sat Sep 8 10:08:02 UTC 2001
Hi lispers,
I have been working this weekend on a port of ECLS to the Windows
platform. The current version works with the cygwin environment,
and it compiles on my Windows-2000 box. Could anybody here
check this version out of the CVS and try to compile it? I just
want to make sure everything works before posting the announcement
below to comp.lang.lisp
TIA
Juanjo
------
Announcement of ECLS v0.4-beta
==============================
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-beta
=========================
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-beta
=============
* 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 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
avoid previous size limitations. The debugger now works.
- 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.
More information about the ecl-devel
mailing list