On Wed, Mar 17, 2010 at 9:58 AM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com> wrote:
Before, if an operation defined by me, such as LIB-OP, did not traverse a system, then the only operation we got was that operation applied on the system, as a generic object.

Now TRAVERSE not only imposes the LIB-OP operation on the system, but it also scans the components and imposes the operation on the components. 

Instead of having TRAVERSE use  some kind of hard-coded logic as it does now

            (let ((module-ops
                   (when (typep c 'module)
[...]
                       (dolist (kid (module-components c))
                           (handler-case

why not go back to something more reasonable which is based on COMPONENT-DEPENDS-ON

(defmethod component-depends-on ((o operation) (c system))
  ...)

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com