| | |
Summary: A Formal Approach to Reasoning about the
Eectiveness of Partial Evaluation
Elvira Albert 1 , Sergio Antoy 2 , and German Vidal 1
1 DSIC, Technical University of Valencia, fealbert,gvidalg@dsic.upv.es
2 Department of Computer Science, Portland State University, antoy@cs.pdx.edu
Abstract. We introduce a framework for assessing the eectiveness of
partial evaluators in functional logic languages. Our framework is based
on properties of the rewrite system that models a functional logic pro-
gram. Consequently, our assessment is independent of any specic lan-
guage implementation or computing environment. We dene several cri-
teria for measuring the cost of a computation: number of steps, number of
function applications, and pattern matching eort. Most importantly, we
express the cost of each criterion by means of recurrence equations over
algebraic data types, which can be automatically inferred from the par-
tial evaluation process itself. In some cases, the equations can be solved
by transforming their arguments from arbitrary data types to natural
numbers. In other cases, it is possible to estimate the improvement of a
partial evaluation by analyzing the associated cost recurrence equations.
1 Introduction
Partial evaluation is a source-to-source program transformation technique for
|