Strategic programming is a generic programming idiom for processing compound data such as terms or object structures. At the heart of the approach is the separation of two concerns: basic data-processing computations vs. traversal schemes. Actual traversals can be composed by passing the former as arguments to the latter. Traversal schemes can be defined by the strategic programmer using a combinator style that relies on primitives for layered traversal.
In this paper, we adopt an aspect-oriented view on strategic programming. This necessitates the instantiation of aspect-oriented terms such as crosscutting, join point, and advice. More specifically, we compare strategic programming with adaptive programming, which is a well-established aspectual approach to the traversal of object structures.
@InProceedings{LVV03, author = {Ralf Lämmel and Eelco Visser and Joost Visser}, title = {Strategic Programming Meets Adaptive Programming}, booktitle = {Proceedings of Aspect-Oriented Software Development (AOSD'03)}, year = {2003}, month = {March}, publisher = {ACM Press}, pages = {168-177}, address = {Boston, USA}, url = {http://www.program-transformation.org/Transform/StrategicProgrammingMeetsAdaptiveProgramming}, }