good morning;

one will no doubt have noticed this message.
one may well have objected, that it does not reflect reality.
that is true.

it brings up an issue which should be addressed as part of the discussion about a more stable interface:

  component-depends-on should be changed so that it uses subtype rather than eq as its test.

it has long been clear,[0] that this renders asdf's "O-O" aspirations for naught, but the issue has until now been dormant.
from this point on, if asdf wants a stable interface, the internals will need to recognize that library classes will be specialized.

the recent point, about intended base methods, which defined instead - likely unintentionally, as default methods, expresses similar concerns.


---
 [0] : http://github.com/lisp/de.setf.asdf.x/blob/master/asdf-x.lisp#L1992

Begin forwarded message:

From: james anderson <james.anderson@setf.de>
Date: 2010-03-18 00:35:51GMT+01:00
To: ASDF-devel <asdf-devel@common-lisp.net>
Subject: Re: [asdf-devel] ASDF traverse changed behavior?


On 2010-03-18, at 00:03 , Juan Jose Garcia-Ripoll wrote:

On Wed, Mar 17, 2010 at 11:54 PM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com> wrote:
Oh, there is nothing with TRAVERSE's output _right now_.

Let me clarify this again:

- The fact that TRAVERSE now adds the same operation for all components was new. That was my source of confusion. Before this did not happen with LIB-OP and the like. Maybe a straightforrwad solution is just writing

   (defun perform ((o bundle-op) (c component)) nil)

so that all components which are not modules get a default PERFORM that does nothing. Is this safe?

if the library adopts an ansi-11.1.2.1.2-like restriction on extensions, this would be compatible, because one of the specializers is not a standard class.

_______________________________________________
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel