Update on changes from last week

1 message Options
Embed this post
Permalink
Erik Huelsmann

Update on changes from last week

Reply Threaded More More options
Print post
Permalink
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