Higher-Order and Symbolic Computation, 12(4)309-335
Combining Program and Data Specialization
Sandrine Chirokoff, Compose project, IRISA/INRIA-Université de Rennes 1, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, France
Charles Consel, Compose project, IRISA/INRIA-Université de Rennes 1, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, France
Renaud Marlet, Compose project, IRISA/INRIA-Université de Rennes 1, Campus
Universitaire de Beaulieu, 35042 Rennes Cedex, France
Abstract: Program and data specialization have always been
studied separately, although they are both aimed at processing early
computations. Program specialization encodes the result of early
computations into a new program; while data specialization encodes the
result of early computations into data structures.
In this paper, we present an extension of the Tempo specializer, which
performs both program and data specialization. We show how these two
strategies can be integrated in a single specializer. This new kind of
specializer provides the programmer with complementary strategies
which widen the scope of specialization. We illustrate the benefits
and limitations of these strategies and their combination on a variety
of programs.
Keywords: program transformation, partial evaluation, program
specialization, data specialization, combining program, data
specialization
|
This article can be downloaded [here].
|
|