There was a flurry of activity last week(end), we were really in a
mood for cleaning up the compiler.
A number of changes were implemented or landed on trunk:
- Spawning off multiple closures with different bindings from the
same lexical environment now works
- Function arguments which are used non-locally (ie are closed over)
no longer clobber the closure when called through funcall
- The number of classes used by the compiler has been reduced; now eliminated
* CompiledClosure
* CompiledFunction
+ ClosureTemplateFunction has been renamed to CompiledClosure
- Unused slots or slots with only function-local use were removed
from the compiler's administrative structures
- Some documentation was added to the compiler
Due to some of these changes, the FASL version number had to be
changed: The old CompiledClosure is no longer compatible with the new
one.
The next change I'm working on now is to allow compilation of
functions with a non-null lexical environment:
(let (x)
(defun foo1 () x)
(defun foo2 (y) (setf x y)))
(compile 'foo1)
Bye,
Erik.
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects_______________________________________________
armedbear-j-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/armedbear-j-devel