Daniel Herring wrote:
On Tue, 22 Sep 2009, R. Matthew Emerson wrote:
We bundle an ASDF version that's about a year old or so (1.130) with Clozure CL.
If I want to bundle a newer ASDF with CCL, what version should it be? There seem to have been half a dozen releases in the past couple of months. Would it be best to wait a little longer for things to settle down?
I'd wait a week or two; A-B-L was recently merged into ASDF, ECL has some changes to merge in, ABCL may as well, and I have a minor tweak to submit for Clisp on Windows and a SBCL change that needs discussion.
On the CCL front, I have an old ccl-init.lisp that contained
;;; Hook ASDF into REQUIRE (defun asdf::module-provide-asdf (name) (handler-bind ((style-warning #'muffle-warning)) (let* ((asdf::*verbose-out* (make-broadcast-stream)) (system (asdf:find-system name nil))) (when system (asdf:operate 'asdf:load-op name) t)))) (pushnew 'asdf::module-provide-asdf *module-provider-functions*)
I forget where I found this. What do you think about putting (something like) this into mainline ASDF?
I'm out of town at a conference, and am not able to check this right now, but I would suggest we proceed with caution here. I use Allegro a lot and I know that they have already hooked require into their proprietary extensions. I don't have any idea what would happen if we were to jump in there.
I also don't know how portable the means are to inject ASDF into require. *MODULE-PROVIDER-FUNCTIONS* isn't ANSI CL, is it?
It's always bothered me a little to use REQUIRE and PROVIDE anyway, on aesthetic grounds, since they are officially deprecated.
best, r