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

Faré fahree at gmail.com
Fri Feb 21 22:39:03 UTC 2014


> This resolve-dependency-spec returns the actual system objects for depended on systems, doesn't it?  Hence the possible side effects.
>
Yes.

> I was thinking of the much simpler expedient of traversing the dependency s-expressions and using COERCE-NAME on all the system names.  That gives us something that is canonical, but that functions when there are missing systems (e.g., this system weakly-depends-on <that>, but <that> isn't present), and is computed without side-effects.
>
> I just felt like fixing this in ASDF would be better than requiring the caller to do it.
>
You could do that in the common case, I suppose, but the user would
still have to call resolve-dependency-spec in the general case, since
the protocol is extensible. Making it appear like the name has been
resolved when it hasn't been is probably a lure that will invite
people to do the wrong thing and get bitten — more efforts for
negative return on investment.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Informal "design patterns" are the crutch of inexpressive programming systems.
In a programmable programming system, the only design pattern needed is:
use the system to refine and extend the system.



More information about the asdf-devel mailing list