On 2010-02-02, at 19:12 , Faré wrote:
I agree with James that a bootstrapped asdf would be elegant. Unhappily it wouldn't be practical. asdf being only one file is very useful for many reasons.
please explain.
Distribution. Only one file to download and install anywhere, rather than having to dig through a directory, make sure things are there, etc. So far, it has been a constraint respected by ASDF.
if the requirement is, that the single asdf.lisp load stand-alone, the experiment i posted does. if more is there, an asdf:load-op bootstraps it. if nothing else is there, nothing else loads.
aside from which, how would an uninitiate notice the difference between curl ... and curl ... | tar xf -
what is the actual functional requirement which this constraint is intended to satisfy?
Also, while I agree that additional functionality should be moved out of ASDF and bootstrapped, I believe that the current ASDF has very little functionality that could be moved out without breaking things.
was the version as of 2009-06 that broken?
the only things with notes about upgradability were the fmakunbound and the two #+ecl adds. together about a dozen lines.
Configuration is part of upgradability. If ASDF has to be told in a complex way how to upgrade, newbies won't be able to do it.
should one not expect even the newest of bies to understand the workings of a simple `.asd`. these are the same newbies whom one expects to configure it?
Sorry, but requiring the manual configuration of *central-registry* just between two steps early in the build won't cut it.
how are changes to the central registry necessarily involved - unless they themselves are an aspect of the upgrade?
then, once asdf is configurable, is there any reason to not take abl out of the core?
YES! If ABL is out of the core, where would the FASLs for ABL itself go???
where did they go before? where does the asdf binary file go? if that location were to concern me, i would ensure that a logical host is involved and map it in the same way i map all the binary- typed files. which, in itself, is one reason to leave abl out of the core. (you didn't ask about the world of files with names which don't conform to logical pathname syntax, but just about ABL's own files.
Or you would have to somehow make sure ABL is loaded and recompiled from source everytime, which also sucks. ABL is not that long, is it?