Re: rfc - delay the parsing of system components
Daniel Barlow <[email protected]> Mon, 13 Oct 2008 21:27:41 +0100
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
"Nikodemus Siivola" <[email protected]> writes: > On Mon, Oct 13, 2008 at 4:08 PM, Christophe Rhodes <[email protected]> wrote: > >> I don't see why you even _want_ to keep the same name, frankly. > > I agree. "plan, then execute" is one of the major (mis?)features of > ASDF. While I have often wanted it, calling a system that behaves like > that ASDF is just confusing. Excuse me if I'm about to rehash old ground. I cannot entirely remember the reasons for plan-then-execute, but asdf was changed to work that way very early in its history and there must have been some kind of justification at the time. One point is that if you want to write operation-done-p methods which compare file dates then it's much easier to think about if you're comparing the dates from *before* you started work than from some arbitrary point halfway through the operation - it's also safer in the face of clock drift. KMP does the the same thing in his "Description of Large Systems" paper, though doesn't give much justification for it beyond "Because a system can be asked to produce a plan for an operation such as compilation without actually performing the operation, it is possible to write programs which inspect the plan, possibly optimizing it or presenting it for for interactive approval, before executing it. " http://www.nhplace.com/kent/Papers/Large-Systems.html A lot of this was driven by IRC discussion with Kevin Rosenberg - I wish I'd kept notes in some more easily-searchable format :-( I don't have a strong opinion these days on which approach is "better", but I do agree that the change will break code in the wild, and should imply a name change if made. -dan ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/