"How-to" request

Marco Antoniotti marco.antoniotti at unimib.it
Sat Mar 20 14:11:45 UTC 2021


Cool, thanks!

Turns out that just using :properties in the system definition works.

Check out (within parens...): HEΛPing ASDF (within-parens.blogspot.com)
<https://within-parens.blogspot.com/2021/03/he-asdf.html>

Cheers

Marco




On Sat, Mar 20, 2021 at 2:41 PM Robert P. Goldman <rpgoldman at sift.net>
wrote:

> Yes, if you look at FIVEAM-ASDF, that is how John Maraist and I do it. We
> introduce a subclass of systems that has an extra slot holding the list of
> tests to be performed, and PERFORM reads that slot when doing TEST-OP.
>
> --
> Robert P. Goldman
>
> On March 20, 2021 at 02:45:57, Marco Antoniotti (
> marco.antoniotti at unimib.it) wrote:
>
>> 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
>>
>

-- 
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/69fd53fd/attachment-0001.html>


More information about the asdf-devel mailing list