[asdf-devel] How should ASDF return cached system definition information

Faré fahree at gmail.com
Fri Feb 21 21:12:00 UTC 2014


On Fri, Feb 21, 2014 at 3:46 PM, Robert P. Goldman <rpgoldman at sift.info> wrote:
> The latest version of ASDF contains three functions:
>
> SYSTEM-DEFSYSTEM-DEPENDS-ON
> SYSTEM-DEPENDS-ON and
> SYSTEM-WEAKLY-DEPENDS-ON
>
> that return information about defined systems.  The intention is to
> support introspection about sets of systems (I believe Quicklisp does
> this today).
>
> Currently, ASDF does *not* put the return values into canonical form.
> So, equivalent forms like
>
> :depends-on (foo)
> and
> :depends-on ("foo")
>
> will yield different return values.
>
> Similarly, :version specifications will not be resolved.
>
> This seems wrong to me.  I feel that the return values should be
> canonicalized.  So all system names should be resolved down to
> lower-cased strings.
>
> Does that sound like the right approach?  It would support performing
> inference on the systems relatively straightforwardly. I can't imagine
> why people would want the exact, literal slot initforms, but I could be
> wrong.
>
I fear returning the raw data might be the right thing,
because resolving can have side-effects that the caller may want to control,
and/or resolve to NIL, etc.
What is important, however, is to specify in the documentation
how the entries are to be resolved, namely with
	(resolve-dependency-spec component dep-spec)

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The greatest productive force is human selfishness.
	— Robert Heinlein, "Time Enough For Love"



More information about the asdf-devel mailing list