Re: Add CLEAN-OP to ASDF?
Robert Goldman <[email protected]> Tue, 30 Dec 2008 09:50:25 -0600
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
Christophe Rhodes wrote: > Robert Goldman <[email protected]> writes: > >> E.M. Baringer's Arnesi library has an ASDF clean-op in its src/asdf.lisp >> file (thanks to fe[nl]ix on #lisp for the pointer). Is there any reason >> this operation could not be imported into the core ASDF distribution? >> Cleaning out old FASLs seems like a very nice thing to have. > > The usual argument against is that clean-op is philosophically wrong: > the output-files of which operation should it clean? > > I'm no longer sure that that argument holds water: the operation > itself can know, by virtue of referring to the operation it's cleaning > up for. Something like > > (defclass clean-op (operation) > ((clean-for :initarg :clean-for)) > (:default-initargs :clean-for (make-instance 'load-op))) > > Now (asdf:oos 'asdf:clean-op ...) will do the right thing, and those > with special requirements can additionally do things like > (asdf:oos 'asdf:clean-op ... :clean-for (make-instance 'test-op)) > or similar. > > This probably isn't going to be a straightforward import of Marco's > code (though maybe it is, I don't know); on the other hand, if this > functionality were available in this form I would be happy. > > Best, > > Christophe > This sounds like the right approach, and I will see if I can figure out how to modify Marco's code accordingly. One question, though --- why should the :clean-for operation default to load-op instead of compile-op? That was the one that seemed like the obvious choice to me. Best, r ------------------------------------------------------------------------------