Hi Boaz: Edge-free strategies can indeed be very useful, especially with the adaptive methods which Doug is implementing now. You can define a strategy with 10 nodes and then do a before * (@ some code @) and now all 10 classes will have a method with the interface of the adaptive method and identical bodies. So edge-free strategies are useful to distribute common methods to a bunch of classes. Doug's new syntax already allows this. AdaptiveMethodBody = TraversalExpression VisitorExpression. etc. in: vega:: cc: dougo@ccs.neu.edu Subject: Re: special cases Karl Lieberherr writes: > Regarding the first case, if we make zero copies of the class graph, > doesn't that result in an empty graph? But we would like to have one > node left? > You're right. But edge-free strategies do not make too much sense, do they? Boaz =========================================== Hi Boaz: do you agree with the following two special cases? I think that the first is not handled by our paper. We should add it. Doug, how does your implementation handle those two special cases? -- Karl Special case 1: ============================= Strategy graph S: A (no edges, only one node) ---------------- Class graph C: A = B. B = . PathSet_S(C) = the single node path consisting of A. This property is important so that we can say that a method is a degenerate traversal: we visit only one object. =================== Special case 2: ============================= Strategy graph S: from A to A (two different strategy graph nodes) ---------------- Class graph C: A = . PathSet_S(C) = the single node path consisting of A.