On 3/25/10 Mar 25 -11:17 AM, Alan Ruttenberg wrote:
Sorry, haven't had a chance to look closely at asdf2, but wanted to point out that in certain contexts, like running applets, writing to any file system is prohibited. For those cases, it would be nice if it was super-easy to set a flag that says: if there isn't a compiled version, or if it is stale, don't try to compile - just load source.
I may be seeing the same demon everywhere, but I /think/ I see what we would like to be able to do, and why that's very difficult in the existing ASDF.
* What we would like to be able to do is to check and see if the file system is writeable and if it's unwriteable, we should treat the compile operation on the system as having been done.
So it might /seem/ that the following pseudo-cod would work
(defmethod operation-done-p ((op compile-op) (sys jar-system)) (or (filesystem-not-writeable-p sys) (call-next-method)))
... but it won't because
* operation-done-p on a system does /not/ mean "this system has had the operation done on it," but only "any additional compile-op for this system AFTER ITS COMPONENTS HAVE UNDERGONE THE COMPILE-OP are done."
See my earlier email postings on the problems with the ASDF object model and, in particular, the dual meaning of the SYSTEM class object. This was discussed in great length at the time of my rewrite of the TRAVERSE function.
best, r