[Ecls-list] Type inference

Juan Jose Garcia Ripoll lisp at arrakis.es
Mon Jan 9 01:57:01 UTC 2006


On Thu, 2006-01-05 at 13:43 -0500, Marco Antoniotti wrote:
> it looks like GCL is now doing some type inference.  Is ECL following 
> up on this?

ECL always had type inference. This improved in latest versions due to
the increased power of ECL's SUBTYPEP, which is more accurate than what
other implementations provide. What remains to be done is:

1) Add more accurate type declarations for the functions in the lisp
core

2) More agressive unboxing -- quite a lot of the former code for
unboxing variables was removed because it was not safe --.

3) Environments. Each statement should have its own vision of the
environment, including type declarations, etc. Currently type
declarations are kept in global arrays and thus they cannot differ along
different code paths. Take the code
	(let ((a *foo*))
	   (if a
               (locally (declare (fixnum a)) ...)
               ....)
The code in one of the IF branches could profit from the type
declaration in the LOCALLY form, but it currently does not.

Regards,

Juanjo





More information about the ecl-devel mailing list