[asdf-devel] maybe hot-upgrade of ASDF is not needed anymore

Robert Goldman rpgoldman at sift.info
Thu Feb 7 21:11:23 UTC 2013


On 2/7/13 Feb 7 -2:49 PM, Anton Vodonosov wrote:
> 07.02.2013, 07:02, "Faré" <fahree at gmail.com>:
>>>  On Wed, Feb 6, 2013 at 9:22 PM, Anton Vodonosov <avodonosov at yandex.ru> wrote:
>>>  I have impression that the code upgrade support is one of the most expensive features in ASDF.
>>
>> It is, and by far.
>>
>> Maybe I should have stuck with deleting the package ASDF and all
>> packages that depend on it.
> 
> If the hot upgrade is difficult to support due to CL limitations, maybe we should not fight the language
> and just do not support hot upgrade? Even if it's possible to overcome the language limitations
> (even in C it is possible to switch implementation at run-time, if you use some indirection, like Bridge Pattern;
> in CL maybe other possibilities exit, like Pascal proposes to use only generic functions). But anyway,
> maintaining the hot upgrade requires efforts, I do not understand what is the justification.
> 
> I have read in the ASDF texts [1] that hot-upgrade of ASDF was necessary to overcome a social
> problem of distributing of new ASDF version with all the CL implementation.
> 
> Today it seems that collaboration is established between ASDF and CL implementation developers and
> CL implementations update ASDF often.
> 
> Also, if user wants to use newer version of ASDF than is provided with hist CL implementations,
> he just loads the newer ASDF. After this, even if he does (require :asdf) the ASDF version
> provided by the CL implementation is not loaded, because ASDF registers itself in cl:*modules*.
> 
> And Quicklisp could avoid (require :asdf). Instead it could just check if ASDF is already
> loaded. If it is, then use the version is loaded. If it isn't then immediately load the ASDF
> version shipped with Quicklisp.

Question: is this enough for Quicklisp?  Does quicklisp ever need to
specify a particular version of ASDF?

I think of people running with release versions of implementations that
are not so eagerly updated.

E.g., if you install the SBCL that comes with your linux install,
instead of building yourself, if you use a CCL 1.8 release, instead of
building from svn, or if you use a commercial CL implementation....

I had the impression that in some of these cases you might find yourself
with an ASDF that is not sufficient to run the latest QL.  Is that not so?

best,
r





More information about the asdf-devel mailing list