> In Metacello there are more than one way to "visit specs": > > - raw specs > - merged specs > - specs by section > - resolved specs > - there are more > > If you are reasoning about the packages visible for a particular combination > of attributes (#common, #pharo, etc.) then you are interested in the 'merged > specs'. > > If you are interested in looking at the individual statements that are > composed into the merged specs, then you need to look at the raw specs, again > against a particular combination of attributes. > > If you are editting a spec or interested in extracting the list of all > packages referenced independent of attribute, then you need to look at the > specs by section ... in which case you have the choice of looking at the raw > specs or merged specs for each section visited. You also probably need to > control whether or not imports are followed or not. > > If you are interested in knowing the exact package version and repository > that a spec resolves to, then you need to look at resolved specs against a > particular combination of attributes. > > So I guess I need to know a little bit more about what you are thinking when > you say "visitor on metacello spec." > > Dale
I see. But when I close my eyes and think about the metacello domain. I see trees of projects baseline, versions packages required packages the fact that the information is merged, resolved…. should give back trees and I would like to be able to visit these structures so that we can build analysis such as snapcello on top. So probably that a visitor would have to be attached a strategy while navigating. Stef