[asdf-devel] load order of dependencies

Faré fahree at gmail.com
Fri Nov 25 16:37:34 UTC 2011


On Fri, Nov 25, 2011 at 09:43, Attila Lendvai <attila.lendvai at gmail.com> wrote:
>> I'm not sure what you want exactly, but it smells like what you really need is
>>
>> (defsystem hu.dwim.reiterate-test
>>  :defsystem-depends-on (:hu.dwim.asdf :hu.dwim.logger)
>>  :class :hu.dwim.system
>>  :depends-on (:hu.dwim.reiterate)
>>  ...)
>
> well, it's not exactly what i want, but it achieves my goal... :)
>
> what i want is to load/compile :hu.dwim.logger only when the test
> system (not its definition as with the above solution) is loaded, and
> then load/compile it *before* the main system.
>
There have been many attempts in the past to subvert ASDF into
something that allows this kind of effects (see asdf-system-connections),
but the semantics of such connections is not very clear (to me at least),
and being familiar with ASDF itself, I don't see how such tricks
can be made reliable at all.

I'm personally worried about reproducibility, and since ASDF has no way
to express control over what gets loaded when beyond its dependencies
mechanism, either it's in the dependencies and will always be loaded
before, or it's not, and might be loaded before or after and you can't
retroactively unload and reload the system to have logging magically
take effect.

The only thing I can offer with ASDF is that if you control which
outermost toplevel system is loaded (or loading script is run),
then this system can control the order in which other systems are loaded.
But even then, if you want to recompile in a different context,
it's up to you to play with the output-translations
and/or clear the fasl cache.

> but there are some relatives (here everyone is everyone else's
> brothers and sisters :) who have a company that is looking for a java
> guy to program their embedded devices. seems like some evangelism is
> waiting for me... :)
A few years back, I introduced my cousin's husband to the Gambit Scheme
guys in Montreal, and now that's what he's using in his next generation ERP,
and he's so happy compared to his previous C++ mess.
So — as long as you find intelligent people to discuss with, they may
understand that using a better language will give them an edge.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The Law of Eristic Escalation is as follows:
	Imposition of Order = Escalation of Chaos.
Fenderson's Amendment adds that the tighter the order in question is
maintained, the longer the consequent chaos takes to escalate,
but the more it does when it does.




More information about the asdf-devel mailing list