On 2010-04-15, at 23:30 , Juan Jose Garcia-Ripoll wrote:
On Thu, Apr 15, 2010 at 10:40 PM, james anderson <james.anderson@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.
yes, the initarg is not essential. however, as evident in the issues which you raise below, its presence does not contribute significantly to asdf deficiencies.
the :in-order-to initarg is just circumstantially involved in this. most of the initialization value is collected from the other dependency initargs.
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.
none of which has to do with the initarg. it has to do with how the graph is annotated and the way traverse operates on it. there are lots of things one should be able to do with the dependency graph. it would be nice. your remarks suggest that you fail to appreciate how broken i believe traverse to be.[1]