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

Faré fahree at gmail.com
Tue Jul 9 00:53:10 UTC 2013


On Mon, Jul 8, 2013 at 11:42 AM, Zach Beane <xach at xach.com> wrote:
> Faré <fahree at gmail.com> writes:
>
>> As for stripping the /, currently it's done by the individual functions in
>> *system-definition-search-functions* by calling primary-system-name.
>
> I think this could be moved into search-for-system-definition by
> wrapping coerce-name in primary-system-name.
>
One issue I see with this is that some s-f-s-d handlers might be
sensitive to the full name rather than to the primary system name, and
always loading base on the primary name only drops the information
about which specific subsystem one is looking for.

The current solution is for each s-d-s-f function to do its own thing.
This is most flexible, but requires all clients of s-d-s-f to be
updated to support this feature.

One solution proposed by Zach is that if and when we realize that
normalizing to primary system name is always the right thing to do,
this can be moved up the call chain — but is it the case? Zach seems
to think so, but at least I'm not convinced.

Another solution, that Zach proposed in a previous email, was to
search for the full name, then the primary name as a fallback. This is
somewhat quirky and makes the semantics of system naming more complex,
but probably works automatically in the most cases.

Yet another solution might be to always look for the primary name
first and load the system definition, then look for the full name if
different. This makes the semantics more regular, though a bit more
expensive.

I admit picked the current solution was the most straightforward to
implement, and most open to future improvements.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
What's funny with equality is how everyone has a different idea of it.  —#f



More information about the asdf-devel mailing list