On Tue, Sep 8, 2009 at 5:19 PM, John Pallisterjohn@synchromesh.com wrote:
Hi Alessio, thanks for that explanation (and sorry for my potentially ill-informed questions...).
So if the (compressed) FASL format is a Zip archive containing the class files, would it be worth compiling local functions to an in-memory Zip/JAR image along with the top-level forms' classes, and then COMPILE-FILE can write the whole JAR to disk as the FASL (and everyone else can discard it)? (This may be like what happens now; the Wiki page on FASL formats is a bit ambiguous, and I admit I haven't looked through the ABCL code yet.)
Well that would be the optimal solution imho. What happens now IIRC is something like this:
an uncompressed FASL file is created for each top-level function (form?), along with companion fasls for local functions. Then all these files are packaged in a jar/zip if compile-file is used, or the only one top-level function is loaded via loadCompiledFunction and all the files deleted, if compile is used.
Anyway, on the strength of this brief discussion I can/should/will now go away and poke through the code. If/when I come up with anything interesting I shall report back to the list.
That is much appreciated!
Thanks, Alessio