Lisp HUG Maillist Archive

ASDF Integration with LispWorks

Greetings,

I spent some time this week integrating ASDF with the LispWorks IDE. First, implemented an :AROUND method for asdf:operate that sets *STANDARD-OUTPUT* to the collector stream for the output tab. Note that this stream does not exist until after the first time the output tab is viewed. Second, updated and added methods for view ASDF systems in the System Browser. Everything is implemented in the ASDF package.

https://github.com/OdonataResearchLLC/LW-ASDF

Hope you find this useful. Please feel free to contact me with any questions, suggestions, or bugs.

Best regards,

Tom
----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann

Re: ASDF Integration with LispWorks

Unable to parse email body. Email id is 11398

Re: ASDF Integration with LispWorks

Hello Martin,

Yes, I read through the example to understand the relationship between the LispWorks concept of a system and the ASDF concept. Some of the differences between the example and what I've posted are superficial such as using LOOP instead of mapping. One big difference is that scm:execute-system-plan in the example handles restarts directly, but what I've posted uses the perform-with-restarts function from ASDF directly. Another difference is that I worked through all of the generic functions exported from the SCM package and tried to map them to appropriate ASDF classes and methods. I implemented all of the SCM generic functions that had an obvious analog in ASDF and omitted those that didn't. So, some of the functions that were in the example are specialized on a different ASDF class in the file I've posted and there are additional methods implemented that were not implemented in the example. Finally, I used a CLOS object instead of a structure to map operations and components to events and implemented all of the event methods that were applicable.

Best regards,

Tom
----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann


On Fri, Dec 9, 2011 at 2:08 PM, Martin Simmons <martin@lispworks.com> wrote:

Hi Thomas,

Thanks for publishing that.

Have you seen the example ASDF integration code that we ship with LispWorks?

http://www.lispworks.com/documentation/lw60/IDE-M/html/ide-m-492.htm
http://www.lispworks.com/documentation/lw60/RNIG/html/readme-372.htm

--
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/


>>>>> On Fri, 9 Dec 2011 12:18:18 -0600, Thomas M Hermann said:
>
> Greetings,
>
> I spent some time this week integrating ASDF with the LispWorks IDE. First,
> implemented an :AROUND method for asdf:operate that sets *STANDARD-OUTPUT*
> to the collector stream for the output tab. Note that this stream does not
> exist until after the first time the output tab is viewed. Second, updated
> and added methods for view ASDF systems in the System Browser. Everything
> is implemented in the ASDF package.
>
> https://github.com/OdonataResearchLLC/LW-ASDF
>
> Hope you find this useful. Please feel free to contact me with any
> questions, suggestions, or bugs.
>
> Best regards,
>
> Tom
> ----------------------------------------------------------------
> Thomas M. Hermann
> Odonata Research LLC
> http://www.odonata-research.com/
> http://www.linkedin.com/in/thomasmhermann


Updated at: 2020-12-10 08:37 UTC