Hi Macneil: On Fri, 17 Dec 2004 16:12:04 -0500, Doug Orleans wrote: > Macneil Shonle writes: > > I've been thinking about this Alan Perlis quote from Structure and > > Interpretation of Computer Programs: "It is better to have 100 > > functions operate on one data structure than to have 10 functions > > operate on 10 data structures." I agree with Alan's statement but instead of having 100 functions I think it is better to have a smaller number of complex request interfaces that can "simulate" those 100 functions. The complex request interfaces open up the implementation in the sense of Gregor's Open Implementation and have access to the 10 functions that operate on the 10 subdatastructures. We have recently worked on a paper about the complexity and expressiveness of languages that are useful ingredients for complex request interfaces: http://www.ccs.neu.edu/research/demeter/papers/unified/unified2.pdf We are currently preparing this paper for journal submission and your feedback would be welcome. Relating back to your message, XPath can serve as an ingredient for complex request interfaces. -- Karl