> 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

Reply via email to