[asdf-devel] Operation inheritance usage

Robert Goldman rpgoldman at sift.info
Wed Mar 21 18:32:03 UTC 2012


On 3/21/12 Mar 21 -4:54 AM, Dmitriy Ivanov wrote:
> Fare wrote on Wed, 21 Mar 2012 04:41:53 -0400 12:41:
> 
> F> There's stuff in asdf-ecl.lisp you might like to read,
> F> some of which could be ported to other lisps
> F> (e.g. via FASL concatenation and linking of any additional
> F> corresponding .a or .so)
> 
> Thanks, I see.
> 
> What about traverse? Has anybody specialized it?
> Is possible that two actions on the same component and operation type to be
> pushed into the plan?
> I mean two pairs
>    (c . o1) and (c . o2),
> where o1 and o2 are instances of the same class, maybe with different slot
> values.
> --
> Sincerely,
> Dmitriy Ivanov
> lisp.ystok.ru

I tried to do some operation specialization and found that actually it
didn't work very well.  The reason is in make-sub-operation --- it's
very hard to get operations to propagate upstream in a way that might
seem obvious:   If you have a sub-type of LOAD-OP, you'd most likely
want to get that sub-type on the dependencies, but this won't happen
without a really substantial amount of effort rewriting depends-on, etc.

Adding entirely new operations works fine, but I have not found a
comfortable way to refine existing operations.  AFAICT the easiest way
to get that effect is to drop new properties onto existing operation
types.  those properties DO get passed into the dependencies.

HtH,
r




More information about the asdf-devel mailing list