2002/12/19 by Ralf Laemmel, Laemmel, Ralf, Joost Visser +1
Biochemistry, Genetics and Molecular Biology · Computer Science · #Chemical Synthesis and Analysis #D.1.1 #D.3.3 #Enzyme Catalysis and Immobilization #FOS: Computer and information sciences #I.1.3 #Logic, programming, and type systems #Programming Languages (cs.PL) #cs.PL
paper · pdf · doi:10.48550/arxiv.cs/0212048
A preliminary version of this paper was presented at IFL 2002, and included in the informal preproceedings of the workshop
arxiv created 2002/12/19 · openalex publication_date 2002/12/19 · arxiv updated 2009/11/30 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
In previous work, we introduced the notion of functional strategies: first-class generic functions that can traverse terms of any type while mixing uniform and type-specific behaviour. Functional strategies transpose the notion of term rewriting strategies (with coverage of traversal) to the functional programming paradigm. Meanwhile, a number of Haskell-based models and combinator suites were proposed to support generic programming with functional strategies. In the present paper, we provide a compact and matured reconstruction of functional strategies. We capture strategic polymorphism by just two primitive combinators. This is done without commitment to a specific functional language. We analyse the design space for implementational models of functional strategies. For completeness, we also provide an operational reference model for implementing functional strategies (in Haskell). We demonstrate the generality of our approach by reconstructing representative fragments of the Strafunski library for functional strategies.