"How-to" request

Marco Antoniotti marco.antoniotti at unimib.it
Sat Mar 20 07:45:57 UTC 2021


Ok.

Well, can you at least have a plist or something in the component
specification?  I presume yes.  I am just allergic to RTFM as you know :)

Marco

On Sat, Mar 20, 2021 at 12:04 AM Robert Goldman <rpgoldman at sift.info> wrote:

> We don't actually. Faré deprecated that. The reasons are complicated, but
> basically, it wasn't possible to propagate arguments through a plan. What
> do you need an argument for? Maybe there's a work-around.
>
> On 19 Mar 2021, at 16:24, Marco Antoniotti wrote:
>
> BTW.
>
> If you do not advise to specialize OPERATE, how do you pass arguments to
> PERFORM?
>
> MA
>
> On Fri, Mar 19, 2021 at 7:45 PM Robert Goldman <rpgoldman at sift.info>
> wrote:
>
>> P.S. I don't recommend writing your own OPERATE methods -- OPERATE is
>> quite complicated and messing with it could lead you into very deep water.
>> I don't believe you should ever need to.
>>
>> On 19 Mar 2021, at 13:42, Robert Goldman wrote:
>>
>> Hi. I'm happy to help you work through this, but so that it doesn't recur
>> as a problem, I'd appreciate it if you would help me fix the manual's
>> discussion of this.
>>
>> First, have you read this page
>> https://common-lisp.net/project/asdf/asdf.html#Creating-new-operations ?
>>
>> Please have a look at that -- it's not very long -- and let us know what
>> more needs to be supplied.
>>
>> I note the discussion of operation-done-p. I suspect that is your
>> problem -- your new operation is not aware that it needs to be performed.
>>
>> This page is substantially redundant with the pages on the object model,
>> and should be beefed up with cross-references, and more inclusion of
>> docstrings...
>>
>> On 19 Mar 2021, at 12:58, Marco Antoniotti wrote:
>>
>> Hi
>>
>> I am trying to create a new ASDF:OPERATION, but I must be missing
>> something and the manual (or Google) does not seem to help much.
>>
>> How do you create a new operation, which may be quite simple?  Or better,
>> how do you get PERFORM and/or OPERATE to actually do something for you.
>>
>> I know I should RTFM, but in this case it is more of a RTFC, which is far
>> more difficult.
>>
>> I tried the following
>>
>> (defclass my-op (non-propagating-operation) ())
>>
>> (defmethod perform ((o my-op) (s system))
>>    (print 42))
>>
>> (defmethod operate ((o my-op) (s system) &key &allow-other-keys)
>>    (print 666))
>>
>> But then, doing
>>
>> cl-user 42> (operate 'my-op (find-system "somesys") :bar 1024)
>> #<MY-OP >
>> #<ASDF/PLAN:SEQUENTIAL-PLAN 2301B97B>
>>
>> is all I get.
>>
>> Any tutorial or advice?
>>
>> Thanks
>>
>> --
>> Marco Antoniotti, Associate Professor         tel. +39 - 02 64 48 79 01
>> DISCo, Università Milano Bicocca U14 2043 http://dcb.disco.unimib.it
>> Viale Sarca 336
>> I-20126 Milan (MI) ITALY
>>
>>
>
> --
> Marco Antoniotti, Associate Professor         tel. +39 - 02 64 48 79 01
> DISCo, Università Milano Bicocca U14 2043 http://dcb.disco.unimib.it
> Viale Sarca 336
> I-20126 Milan (MI) ITALY
>
>

-- 
Marco Antoniotti, Associate Professor         tel. +39 - 02 64 48 79 01
DISCo, Università Milano Bicocca U14 2043 http://dcb.disco.unimib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20210320/09bafeb6/attachment-0001.html>


More information about the asdf-devel mailing list