[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




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.

  - 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