[asdf-devel] ASDF traverse changed behavior?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Wed Mar 17 20:31:54 UTC 2010


On Wed, Mar 17, 2010 at 3:23 PM, Robert Goldman <rpgoldman at sift.info> wrote:

> E.g., it seems that we can fix one of Juanjo's two problems by simply
> recasting one of his INPUT-FILES (?) primary method as an :AROUND method.
>

Around methods are a hack. If you later on decide to add an around method to
ASDF then you break whatever I do. If some user decides to add an around
method then it will break again.


> As for the problem with TRAVERSE, I don't understand enough what the
> problem is.  Can it be solved simply by adding something like:
>  (defmethod PERFORM ((op lib-op) (c cl-source-file))
>  (values))
>

What if somebody adds another component to a system? Right now this means I
have to track all existing ASDF components, know in advance which ones may
form part of the module, because as it was said I am not allowed to write
a method with a generic signature PERFORM ((op lib-op) (c component))
because COMPONENT is a class that ASDF defines.

Summing up, please you all consider this: if you forbid --in the ASDF
specification-- to write any method that uses directly ASDF classes that
means we are not allowed to extend ASDF systems at all.
 * We would have to define our own system, module, component, operations,
and these would no be allowed to coexist with ASDF systems.
 * We would not be allowed to use the same *.asd systems that other library
defines because those use ASDF's system classes.
 * We would not be allowed to combine ASDF's LOAD-OP operations with our own
components (precompiled files, etc) because we are not allowed to write
methods using LOAD-OP and our extended classes.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100317/97016e26/attachment.html>


More information about the asdf-devel mailing list