[[Ralf Laemmel]], [[Eelco Visser]] and [[Joost Visser]]. *The Essence Of Strategic Programming*. Draft paper (October 15, 2002) ([[http://www.cs.uu.nl/~visser/ftp/eosp.pdf][pdf]],[[http://www.cs.uu.nl/~visser/ftp/eosp.ps][ps]]) ----+++ Abstract [[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 @unpublished{LVV02, 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{http://www.cwi.nl/~ralf}" } ----- CategoryPaper