On Fri, Feb 28, 2014 at 9:18 AM, Robert P. Goldman rpgoldman@sift.info wrote:
I have pushed another quick set of modifications; all grammar and punctuation, with some chopping up by adding new subsections.
Uh, I don't see anything new on branch master. If you didn't push, can you rebase to master and push? I did a few minor modifications.
In doing so, I stumbled on the following passage under Upgrading ASDF:
Starting with ASDF 3 (2.27 or later), this self-upgrade will be automatically attempted as the first step to any system operation, to avoid any possibility of a catastrophic attempt to self-upgrade in midflight.
It's not clear to me from the context what "this self-upgrade" refers to, nor how it's triggered.
Is this because all systems have an implicit requirement of :depends-on ASDF? So that when ASDF scans its registry it finds any new version and automagically updates it?
Yes, any system that extends ASDF in any way implicitly depends on ASDF, yet most fail to declare a dependency on ASDF. What is worse, any system with an explicit dependency on ASDF, or worse, defsystem-depends-on on something that depends on ASDF, may cause ASDF to be reloaded *in the middle of the build* if ASDF hasn't been upgraded yet. Detecting in advance whether or not ASDF will be loaded is Halting-complete, and so we have two safe options: detect such midbuild upgrade and fail, and be a huge nuisance to users for no gain, or uprade preemptively and have things just work.
Therefore, ASDF3 assumes that a user means an upgrade if and only if he has configured a recent ASDF in his registries. I believe this actually minimizes user cognitive load while maximizing functionality.
PS: as an example of enjoying scripting with Lisp, see the new release.lisp script in cl-launch. I suppose the asdf/bin/asdf-builder script could similarly be slightly simplified and improved by using the latest cl-launch 4 and inferior-shell 2.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org "When buying and selling are controlled by legislation, the first things to be bought and sold are legislators." — P.J. O'Rourke