[asdf-devel] Operation inheritance usage

Robert Goldman rpgoldman at sift.info
Fri Mar 23 14:26:52 UTC 2012

On 3/22/12 Mar 22 -2:37 AM, Faré wrote:
> On Thu, Mar 22, 2012 at 02:05, Dmitriy Ivanov <divanov11 at gmail.com> wrote:

>> Another question I have got is the relationship between ASDF and LispWorks
>> defsystem rules. LW definitions are quite obvious.
>> :caused-by
>> If any of dependee actions are already in the current plan (as a result of
>> other rules executing successfully, or as a result of default system
>> behavior), they trigger successful execution of this rule, i.e. the
>> operation on the target component.
>> :requires
>> The actions that need to be performed before the rule can execute
>> successfully. This is a list of operation-component descriptions that should
>> be planned before the action on the target component.
>> In my understanding, ASDF :in-order-to is equivalent to :caused-by, and
>> :do-first is equivalent :requires. Is this correct?
> Sounds about right.
> I would even rename the ASDF ones to match the LispWorks name,
> if I were sure to fix all the references (Are there any beyond ASDF and POIU?).

Is this really feasible?

While I agree the old names are not ideal, the collateral damage of
changing them seems extensive.

depends-on and in-order-to are exposed through the defsystem grammar,
and could be used all over the place.

Benefits: mildly tidier naming; Costs: potentially extensive breakage.

I really do mean "mildly" there, too.  I don't think "caused-by" is so
much clearer that it's worth anything.  Either way you need to read the
documentation to understand the meaning of :in-order-to and :do-first,
or :caused-by and :requires.  And the asymmetry of the passive voice in
the former and the active voice in the latter seems odd enough to not
help with clarity.


More information about the asdf-devel mailing list