The Essence of Strategic Programming. An inquiry into trans-paradigmatic genericity

Ralf Lämmel, Eelco Visser, Joost Visser. The Essence of Strategic Programming. An inquiry into trans-paradigmatic genericity. 2002.

Abstract

Strategic programming is an idiom for generic programming where the concept of a strategy plays a central role. A strategy is a generic, dataprocessing action. Strategies are first-class citizens as witnessed by a combinator style. Two important characteristics of strategies are that they can traverse into compound data, and that they can be customized by type-specific actions. We provide a general definition of strategic programming, and we demonstrate how this idiom can be realized inside several programming language paradigms.