Hi Geoff: >From ghulten@ccs.neu.edu Tue Aug 5 15:15:18 1997 >Subject: Re: visitors to the rescue >Date: Tue, 5 Aug 97 15:16:09 -0400 >x-mailer: Claris Emailer 1.1 >From: Geoff Hulten >To: "Karl Lieberherr" >cc: > >>The last edge is a >>derived edge: -> Vertex,find,Adjacency wich requires Graph g as argument. >>(It needs to search through the list) >> >>This strategy can only be used with a visitor which has g as an >>instance variable. >> >>In this view strategies have a precondition: they can only be used >>with visitors containing parts with the right names and types. >>When a derived edge is traversed which requires some arguments, >>they are taken from the visitors. Visitors have the purpose of carrying >>objects across other objects besides doing the work in addition >>to the traversals. >> >>Does this solution look better? > >Yes it does. But I'm still a little worried that derived edges >with arguments my be tricky to program with. Oh well, I think this >change is easy to implement (in a hacked sort of way) so we could >always throw it in and see how users respond. > >-Geoff > Please can you do an example (a full version of the Adjacency example, maybe?) so that we can see some of the details? Derived edges will be important for a module system involving strategies. -- Karl