[Ecls-list] Summer patches

Juan Jose Garcia-Ripoll worm at arrakis.es
Tue Sep 9 01:16:03 UTC 2003


[Please excuse if message is duplicated. These messages bounced twice from the 
mailing list server in SourceForge]

Hi again!

I am back with some changes that I have been working on during the summer. Not 
big ones, but rather important, since I am mainly working on the lisp->C 
translator, trying to make it more consistent and maintainable, and fixing 
the current type inference scheme. In more detail:

+ The bug that prevented building ECL under windows has been fixed.

+ ECL is now built as a single library (either shared or static). This makes 
the main executable just 1500 bytes large :-) Jokes apart, I want to split 
this runtime further, removing the interactive environment, the bytecodes 
disassembler, the documentation facility and other reflective stuff which is 
usually not required when "embedding" ECL into other programs.

+ I am working on the compiler, slowly convincing it to use other data 
structures (i.e. lisp "structures") and higher level functions with more 
meaningful names, such as c1form-name, make-c1form, c1form-type, etc.

+ A truly nasty bug has been unconvered. The compiler was too eager when 
replacing variables, so that
        (let* ((exit *exit*) (*exit* (1+ *exit*)))
             (declare (special *exit*))
             ...
             (print exit))
would be changed into
        (let* ((*exit* (1+ *exit*)))
             (declare (special *exit*))
             ...
             (print *exit*))
In my defence I can but say that it is a legacy bug.

+ ECL no longer uses the --export-dynamic flag, which means that dynamical 
loading of code under Windows is close. As for MacOSX, does anybody have the 
code to implement a "dlopen()" in MacOSX??? Or does anybody know how to code 
in Objective C such a thing? Contributions are welcome.

Finally, I would like to advertise that I will continue to publish patches to 
the latest release (in this case, 0.9b). These patches are available in the 
homepage, as "Experimental patches", and they match exactly the current 
status of the CVS tree.

Regards

Juanjo





More information about the ecl-devel mailing list