Traversing Recursive Object Structures: The Functional Visitor in Demeter

Pengcheng Wu, Shriram Krishnamurthi, Karl Lieberherr

Software-Engineering Properties of Languages for Aspect Technologies, 2003


Adaptive Programming (AP) provides a graph-based model for separating the traversal of a data structure from computations over the structure. This paper presents a new programming paradigm in AP that adds the power of functional composition of VISITOR methods while preserving the flexibility of traversal control. The paper departs from a pure iterative approach to AP and introduces a recursive approach using default combination methods to achieve adaptiveness. Default combination methods are a novel form of advice that adapts to the number of outgoing edges the traversal joinpoint uses.



These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.