[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.

Best,
Robert




More information about the asdf-devel mailing list