On Wed, 9 Sep 2009 at 22:39:44 +0200, Erik Huelsmann wrote:
I'm looking for a good solution to both cases. One of the things I came up with is some kind of "storage factory" which would be a function to be called which either generates a stream sending output to the ZIP, or an in-memory stream or a file-backed stream if that's still required.
So, what are your comments to that?
The original reason, way back in the first days of ABCL's compiler, for writing the output of COMPILE to a file, was to facilitate debugging the compiler.
COMPILE basically created the output class file, then fed it to LOAD- COMPILED-FILE, which, particularly in the early days, might fail to load the class file because of a class verification error.
When this happened, it was then easy enough to find the offending class file on disk and attack it with tools that knew about class files to figure out what was wrong with it. (If I remember correctly, in the *very* early days the temporary file always had the same file name, to make things even easier.)
This sort of failure probably doesn't happen much any more, but it might be handy to keep the old behavior around in some form as an option, just in case.
-Peter