[asdf-devel] :in-order-to

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Thu Apr 15 21:30:31 UTC 2010


On Thu, Apr 15, 2010 at 10:40 PM, james anderson <james.anderson at setf.de>wrote:

>
> On 2010-04-15, at 22:26 , Juan Jose Garcia-Ripoll wrote:
>
> > Who uses it?
>
> depends on what one means by "uses it"? the value in the respective
> slot is more-or-less central to the dependency computation and is
> initialized in the instantiation process[1]. once it plays that role,
> is there any reason to not place the initarg in the interface?
>

The current implementation can be done without :in-order-to, and I think
Fare also has that in mind.

Personally I also find another reason to make the under-the-hoods algorithm
not rely on in-order-to, and it is the following one.

The most valuable information ASDF has is the list of dependencies which
would allow one to do a topologically sorted list of components to be
loaded. By loaded I do not mean compiled and loaded but just loaded,
assuming everything had been already compiled.

Currently we can not get this graph because every LOAD-OP produces a
COMPILE-OP which may itself trigger a LOAD-OP of other component.
LOAD-SRC-OP currently does not work to get an equivalent graph because it is
not available for all components and because not all libraries take it into
account in :in-order-to. ASDF also does not take it itself into account in
the automated dependencies.

So, I would say, in order to produce that beautiful and useful list: 1)
provide another mean to have a test-op (perhaps a :test-system option?), 2)
remove :in-order-to, 3) implement a kind of "force-all" option to TRAVERSE
which makes it behave as if nothing was loaded before and either a) fix
LOAD-SRC-OP and rely on it or b) provide a means to temporarily deactivate
the triggering LOAD-OP -> COMPILE-OP. With this we can use TRAVERSE to get
the sorted graph.

Finally, note that removing :in-order-to does not mean having serial order,
for we still have the other ways to express dependencies.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100415/4bbba64a/attachment.html>


More information about the asdf-devel mailing list