[Ecls-list] Wish list

Juan Jose Garcia Ripoll lisp at arrakis.es
Mon Jan 24 08:05:19 UTC 2005


in case somebody finds some free time and wants to contribute to the 
project, here are some possible improvements that come out of my head:

+ Developing the sockets interface OPEN-SOCKET/ACCEPT-CONNECTION that is 
required for Slime or, even better, a subset of what SBCL offers.

+ Porting Gray streams. This should be easy given the fact that we 
already have CLOS streams (some renaming of the functions in ECL might 
be needed, though)

+ Implementing two routines for accurately converting floating point 
numbers into strings and reading them back with minimal consing. Notice 

    1) ECL is shipped with CMU CL's flonum-to-string, but
        this routine may create rather big bignums.
    2) Current routines rely on printf()/strtod(), but I have
        discovered that this implementation breaks on some
        platforms, such as Linux/Alpha, whose C library cannot
        read or write denormalized numbers.

+ Improving ECL's speed in areas like iteration over sequences, 

+ Fix the port to MacOSX. As I mentioned long ago, I only have access to 
MacOSX 10.{1,2} and even then it is very limited.

+ Embed ECL in Mozilla :-)

+ Develop some lightweight package for serialization of lisp structures.

+ Implement reader/printer routines for bytecodes and compile all macros 
into this representation, thus producing smaller binary objects. In 
general, also looking for all possible improvements in the size of the 
lisp image.

+ Rewrite the code for method-combinations, so that the combinations 
provided in the specification are built using closures and only 
user-supplied combinations rely on bytecodes.

+ Port McCLIM.

+ Rewrite ECL's own garbage collector, introducing generations.

+ Implement weak pointers or hash tables, even if only for one of the 
two garbage collectors.

+ Improve the language of the error messages that ECL produces and maybe 
program a general framework for translating these messages.

+ A READLINE-like interface for the command line. Maybe based on 
FreeBSD/NetBSD's replacement for libreadline.



More information about the ecl-devel mailing list