[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