Strategic Programming Meets Adaptive Programming

Program-Transformation.Org: The Program Transformation Wiki
Ralf Lämmel and Eelco Visser and Joost Visser. Strategic Programming Meets Adaptive Programming. In Proceedings of Aspect-Oriented Software Development (AOSD'03). pages 168-177. ACM Press, Boston, USA, March 2003. (pdf, ps)


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.


  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 = {},


Transform.StrategicProgrammingMeetsAdaptiveProgramming moved from Transform.AdaptiveProgrammingMeetsStrategicProgramming on 28 May 2003 - 08:09 by EelcoVisser - put it back