Comment 11 for bug 1084644

Revision history for this message
Faré (fahree) wrote :

1. I don't know any implementation that loads ASDF without you explicitly doing a (require "asdf").

Back in the bad old days of ASDF 1, there was no way to (require "asdf") except maybe on SBCL, no way to guess where to find a proper precompiled asdf for your implementation, and no way to add desired ASDF features (such as output translation or preconfiguration of central registry) without first loading ASDF. Therefore, common-lisp-controller (on debian and gentoo and maybe other distributions) used to dump images with ASDF pre-loaded. This was great when it worked, but was sometimes hell, because it was impossible to load a newer ASDF on top of that (or older, or sometimes even the same), making the simplest build scripts impossible to write portably. These bad old days are past. Please don't take us back there. Looking back, I'm proud of ASDF 2.

2. I suppose your ~/.sbclrc, ~/.cmucl-init.lisp, or whichever file loads your quicklisp could defparameter something (in which package, though?), and quicklisp could consult that variable before it loads asdf. Or quicklisp could have an optional ~/quicklisp/setup-configuration.lisp that is read during setup where you could specify such preferences. At that point though, that becomes a Quicklisp issue, and you should open a ticket on https://github.com/quicklisp/quicklisp-client/issues

3. For next version of ASDF, my proposed solution is that any self-upgrade bugs will be fixed as have been with CMUCL, and that asdf-bundle will be bundled with ASDF, which should solve any and all issues for ECL.

4. I don't think that the current behavior is particularly complex. I don't see what simpler behavior you expect that can work for everyone on the 9 active supported implementations (and optionally the 6 inactive implementations and 1 future announced implementation) in a future-proof way. If you see one, please explain.

5. The current behavior is not less documented than much anything in the CL world. I don't know what documentation you're thinking about, but whichever exists is accepting patches, and whichever doesn't exist is waiting to be written.