On Tue, Sep 8, 2009 at 12:45 PM, Mark Evensonevenson@panix.com wrote:
On 9/8/09 10:27 AM, Alessio Stalla wrote: […]
If others have ideas in this regard, please share. I'd like to avoid Plan B (having users resort to the competition :D)
This seems somewhat related to my recent work to load ABCL FASLs from JAR files, in that I have had to change Lisp.loadCompiledFile() to get things to work. In that new code, if I can address a FASL via a URL resolvable via java.net.URL, I can load the FASL.
Does the cloud platform being considered here have a way to address its storage as URLs?
I don't quite see the parts of the compiler that need to write to the filesystem. Can anyone point me to the places where that happens?
Going from memory, when it compiles local functions/closures, it needs to write each one to its own class file. The compiled top-level function will contain instructions like loadCompiledFunction("tempClassFileFoo1234.cls"). After the compiled function is loaded, if the runtime compiler has been used, temporary files are deleted.
I also vaguely remember that the compiler uses temporary memory (remember/recall) for constants and other things, and generates code in the compiled class files like 'fetch contant 1234 from the compiler'. So, if it's still like this, that's a problem for the OP, too.
But I haven't got the abcl source handy now, so that might be incorrect.
hth, Alessio