Reuse by program transformation

Author
Ralf Lämmel

Abstract
Certain adaptations, that are usually performed manually by functional programmers are formalized by program transformations in this paper. We focus on adaptations to obtain a more reusable version of a program or a version needed for a special use case. The paper provides a few examples, namely propagation of additional parameters, introduction of monadic style, and symbolic rewriting. The corresponding transformations are specified by inference rules in the style of natural semantics. Preservation properties such as type and semantics preservation are discussed. The overall thesis of this paper is that suitable operator suites for automated adaptations and a corresponding transformational programming style can eventually be combined with other programming styles, such as polymorphic programming, modular programming, or the monadic style, in order to improve reusability of functional programs.

Bibtex entry
@inproceedings{Laemmel00-SFP99,
 author = "R.~L{\"a}mmel",
 title = "{Reuse by Program Transformation}",
 editor = "Greg Michaelson and Phil Trinder",
 booktitle = "{Functional Programming Trends 1999}",
 publisher = "Intellect",
 year = "2000",
 note = "Selected papers from the 1st Scottish Functional Programming Workshop"
}

Download paper
[.ps], [.pdf]