From: ยทยทยทยท@arrakis.es
Subject: ECLS v0.0g (with Boehm-Weiser gc)
Date: 
Message-ID: <8p37gb$sdm$1@nnrp1.deja.com>
ECLS is an implementation of Common-Lisp which aims to be complete, but
small, easy to maintain and to port, and in a near future embeddable
as a library in other programs.

The ECLS web page is located at

 http://www.arrakis.es/~worm/ecls.html

You will find the source and a current binary release for Linux.
Sorry, the FreeBSD binary is still 0.0e because I am far from home.

Currently ECLS is moving towards its first stable release, 0.1, but
it lacks some features and has some known bugs. The changes in this
minor release involve ANSI compliance, garbage collection and user
interface:

* Support for character attributes removed, including #'char-bit,
#'char-font, #'make-character, #'string-char-p and 'string-char
type. Instead, the whole chapter of the ANSI spec is implemented with
types character = base-char > standard-char and extended-char being an
empty type.

* Full ANSI compliance for CHARACTER and STRING sections of the spec.

* Added support for Boehm-Weiser garbage collector (v5.2) with flag
--enable-boehm. The garbage collector is distributed with ECLS.

* Removed support for relocatable blocks of memory from original
garbage collector. Unified allocation interface with alloc(),
alloc_align(), dealloc() and the alloc_atomic() and
alloc_atomic_align() variants.

* New online manual in texinfo format gets installed.

* Final problems with documentation solved. #'si::help no longer
hangs and the database is now properly generated (in v0.0e only a few
entries got in).

* Binding stack, invocation history stack and frame stack predate
now ordinary memory as a first step for future resizable stacks.

* Built in C strings are better handled now: they can contain \000 and
make use of \n,\t,\\, and of special characters in octal notation.

* Initialization of functions grouped in a single file all_functions.c.

* (type-of nil) now returns 'NULL instead of 'SYMBOL.

* Different hierarchy of tags in object.h saves some space & time.

* Open-coded caar, cadr, etc, are faster & smaller.

* In old garbage collector, flag *IGNORE-MAXIMUM-PAGES* turned
into function #'si:ignore-maximum-pages

The following are the results from Gabriel's benchmark under several
Common-Lisp implementations, including ECLS with both types of
 garbage collector.

             GCL     GCL!     CLISP     ECLS*   ECLS*!  ECLS    ECLS!
-----------+-------+-------+---------+--------+-------+-------+-------+
BOYER        0.050   3.460    3.620     0.150   6.680   0.060   4.320
BROWSE       0.120   4.880    4.500   0.000 0.280   0.010 0.190
CTAK         0.010   0.400    0.560   0.010 0.680   0.010 0.480
DDERIV       0.030   0.480    0.580   0.140 0.910   0.030 0.570
DERIV        0.020   0.420    0.540   0.130 1.050   0.030 0.490
DESTRU-MOD   0.010   0.540    1.910   0.023 0.730   0.005 0.660
DESTRU       0.013   0.530    1.890   0.027 0.730   0.007 0.680
DIV2         0.040   0.700    1.490   0.120 1.060   0.030 0.800
FFT-MOD      0.000   9.270    8.520   0.010 27.000  0.000 46.550
FFT          0.000   1.730    3.810   ***** 13.650  ***** 38.630
FPRINT       0.005   0.000    0.020   0.002 0.010   0.002 0.010
FREAD        0.005   0.000    0.010   0.020 0.020   0.020 0.020
FRPOLY       1.010   11.320   4.480   0.330 20.830  6.430 21.650
PUZZLE-MOD   0.030   4.450    9.710   0.030 7.720   0.030 7.830
PUZZLE       0.030   3.220    9.170   0.030 5.510   0.030 6.550
STAK         0.010   0.270    0.500   0.010 0.440   0.010 0.330
TAK-MOD      0.010   3.740    4.400   0.020 6.980   0.020 4.400
TAK          0.020   3.750    4.680   0.030 6.960   0.010 4.600
TAKL         0.010   2.250    2.400   0.010 4.030   0.000 2.540
TAKR         0.003   0.380    0.470   0.005 0.750   0.000 0.520
TPRINT       0.010   0.010    0.070   0.010 0.010   0.013 0.010
TRAVERSE     0.470   24.670   57.890  0.560 37.740  0.450 26.160
TRIANG-MOD   0.430   61.280   104.720 0.000 136.670 0.000 149.650
TRIANG       0.470   58.980   96.330  0.430 84.330  0.430 60.380

[GCL]     Gnu Common Lisp 2.2.1 compiled code
[GCL!]    Gnu Common Lisp 2.2.1 interpreted code
[CLISP]   CLISP 1999-07-22-5 interpreted code
[ECLS*]   ECLS v0.0g compiled code (with Boehm-Weiser garbage collector)
[ECLS*!]  ECLS v0.0g interpreted code (with Boehm-Weiser garbage coll.)
[ECLS]    ECLS v0.0g compiled code (with simple-minded gc)
[ECLS!]   ECLS v0.0g interpreted code (with simple-minded gc)


Sent via Deja.com http://www.deja.com/
Before you buy.