[asdf-devel] Ordering of system :depends-on elements

Zach Beane xach at xach.com
Sun Jul 7 22:39:08 UTC 2013


Robert Goldman <rpgoldman at sift.info> writes:

> Zach Beane wrote:
>> A few projects in quicklisp work something like this:
>>
>>    ;;; foo.asd
>>
>>    (defsystem foo ...)
>>
>>    (defsystem foo-extra ...)
>>
>>
>>    ;;; bar.asd
>>
>>    (defsystem bar :depends-on (:foo-extra :foo))
>>
>> With asdf 2, (asdf:load-system "bar") seems to work fine, I guess
>> because asdf 2 does the equivalent of find-system on the elements from
>> right-to-left.
>>
>> With asdf 3, it doesn't seem to work fine, I guess because asdf 3 does
>> the equivalent of find-system on the elements from left-to-right.
>>
>> Are those guesses correct?
>>
>> What's the best way to have a system definition that works equally well
>> in asdf2 and asdf3 in this kind of situation?
>
>
> I feel like I'm missing something.  Is there some reason you can't simply make 
>
> (defsystem foo-extra :depends-on (:foo)
>   ....)
>
> ?

If they were in separate files, yes. They aren't.

> Even if you *could* get the behavior you wanted out of left-to-right
> ordering in the :depends-on slot, this isn't something you should rely
> upon.

This was relied upon by some projects, and now it doesn't work.

Zach



More information about the asdf-devel mailing list