From: ····@arrakis.es
Subject: [ANN] ECLS 0.0c first self bootstrapping release
Date: 
Message-ID: <8cd7tc$ad2$1@nnrp1.deja.com>
Hi,
at the risk of losing credit as a developer for releasing so fast and
sometimes with such bad quality ;) I am announcing the third release of
ECLS, the Spanish fork of ECoLisp. Once more I must thank G. Attarddi
for its wonderful code base which makes possible such a fast development
of this project.

Now to the thing. What are the main changes in this new release which
still doesn't deserve even a minor number?

1) ECLS self compiles starting from a bare C compiler.

Since the handcode C core of ECLS is large enough, I have been able
to add an intermediate stage in which lisp files are only used in source
form. That is, the original set of automatically generated C files are
discarded on this stage.

Once the system has a bare feet but full fledged ECL_MIN program, it
is used to compile all of the required lisp sources. This second stage
leads to a faster interpreter which is ECLS itself.

Why doing it this way? Well, the former system was quite weak since
it relied on a former release of ECL to recompile the lisp files.
Furthermore, no major changes such a change of the parameter passing
convetions could happen, since the previous release would not know it.

Thus, with the new system, you can just play with the *.lsp and *.c
and *.d files as you wish. If you feel your changes are too deep that a
simple "make" will fail, then just remove the object file directory and
reconfigure. ECLS itself will wisely use your modified sources to build
itself.

By the way, as everything has its price, compiling ECLS is now a bit
slower. How much? Well, at least GCC takes more time to compile, hehe :)

2) New DESTRUCTURING-BIND and DEFMACRO macros.

Hoping this will be enough to help ECL support the SERIES package, I
have coded a new DESTRUCTURING-BIND macro which shares its backend with
DEFMACRO :) This means some improvements and bugfixes of the latter.

3) Other changes:

* Building CLOS is now the default. Use of --disable-clos is discouraged
and may be dropped in a near future as our CLOS becomes more optimized.

* Fixed error in makefiles which prevented use of "make clean"

* Fixed errors in garbage collector and leaks in #'multiple-value-bind

* Implemented SEQUENCE and STRUCTURE as DEFTYPEs.

* Type checker rewritten using multiple values to avoid consing.

You can get the software at the following addresses

Readme: http://est202.sub37.uclm.es/jjgarcia/ecls.txt
Binary: http://est202.sub37.uclm.es/jjgarcia/ecls.gz
Sources: http://est202.sub37.uclm.es/jjgarcia/ecls.tgz
Tests: http://est202.sub37.uclm.es/jjgarcia/ecls-tests.tgz

Feedback and comments are most wellcome.

Juanjo
--
Juan Jose Garcia Ripoll
www:http://est202.sub37.uclm.es/jjgarcia/index.html
Dpto. de Matematicas	job: ········@ind-cr.uclm.es
E.T.S.I. Industriales	home: ····@arrakis.es
Univ. de Castilla-La Mancha, Ciudad Real E-13071 (Spain)


Sent via Deja.com http://www.deja.com/
Before you buy.
From: Fernando D. Mato Mira
Subject: Re: [ANN] ECLS 0.0c first self bootstrapping release
Date: 
Message-ID: <38EB07E5.7709F3BF@acm.org>
····@arrakis.es wrote:

> Hoping this will be enough to help ECL support the SERIES package, I

I've added a couple compatibility hacks, but the ECL binary crashes
compiling
s-code.lisp on SuSE 6.3 Intel (Linux 2.2.13)

Index: s-package.lisp
===================================================================
RCS file: /home/matomira/cvsroot/series/s-package.lisp,v
retrieving revision 1.8
diff -r1.8 s-package.lisp
54c54
<   (cl:pushnew ':pittsburgh cl:*features*))
---
>   (cl:pushnew ':cmucl cl:*features*))
57c57
< #+(or draft-ansi-cl draft-ansi-cl-2 ansi-cl allegro :pittsburgh Genera
Harlequin-Common-Lisp CLISP)
---
> #+(or draft-ansi-cl draft-ansi-cl-2 ansi-cl allegro :cmucl Genera
Harlequin-Common-Lisp CLISP :cormanlisp)
150c150,152
<   (in-package "SERIES" :use '("LISP"))
---
>   (unless (find-package :cl)
>     (rename-package :lisp :common-lisp '(cl lisp)))
>   (in-package "SERIES" :use '("COMMON-LISP"))
164a167,172
>
>   (unless (find-symbol "DECLAIM" :cl)
>     (defmacro declaim (&rest args)
>       `(eval-when (:execute :compile-toplevel :load-toplevel)
>          ,@(mapcar #'(lambda (x) `(proclaim ',x)) args))))
>

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html