On Fri, Nov 25, 2011 at 09:43, Attila Lendvai attila.lendvai@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.