The Essence Of Strategic Programming

Program-Transformation.Org: The Program Transformation Wiki
Ralf Laemmel, Eelco Visser and Joost Visser. The Essence Of Strategic Programming. Draft paper (October 15, 2002) (pdf,ps)


Strategic programming is generic programming with the use of strategies. A strategy is a generic data-processing action which can traverse into heterogeneous data structures while mixing uniform and type-specific behaviour. With strategic programming, one gains full control over the application of basic actions, most notably full traversal control. Using a combinator style, traversal schemes can be defined, and actual traversals are obtained by passing the problem-specific ingredients as parameters to suitable schemes. The prime application domain for strategic programming is program transformation and analysis. In this paper, we provide a language-independent definition that generalises over existing incarnations of this idiom in term rewriting, functional programming, and object-oriented programming.

Bibtex entry

   author = "Ralf L{\"a}mmel and Eelco Visser and Joost Visser",
   title = "{The Essence of Strategic Programming}",
   year = 2002,
   month = oct # 15,
   note = "18 p.; Draft; Available at \url{}"