[asdf-devel] Operation inheritance usage

Faré fahree at gmail.com
Thu Mar 22 07:37:18 UTC 2012

On Thu, Mar 22, 2012 at 02:05, Dmitriy Ivanov <divanov11 at gmail.com> wrote:
> An object-oriented basis for handling operations is a bright idea. But it
> makes many things too complicated and gives no answer to theoretical
> problems like the above (are (c . o1) and (c . o2) the same action?). I
> wonder if it provides much benefit in practice.
CL evolved before programming language people started insisting on
clean semantics. When each and every CONS is stateful, not to mention
objects, the meaning of "the same" becomes moot. See the classic
hbaker essay on equality.

> It seems that using keyword designators like :compile-op, :load-op and the
> like and methods with  the eql specializers would be enough to many
> applications. And accompanying all the methods with an additional parameter
> to pass operation properties (or make them accept key arguments). That is
> the way some old defsystem libraries are doing.
I have read about them, but I have no working experience with old
defsystem libraries.

> 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?).

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."  — Nikodemus Siivola

More information about the asdf-devel mailing list