Preserving Sharing in the Partial Evaluation of Lazy Functional Programs

Sebastian Fischer, Josep Silva, Salvador Tamarit, and Germán Vidal
Logic-Based Program Synthesis and Transformation (revised and selected papers from LOPSTR 2007). Springer LNCS 4915, pp. 74-89, 2008.
© Springer-Verlag

The goal of partial evaluation is the specialization of programs w.r.t. part of their input data. Although this technique is already well-known in the context of functional languages, current approaches are either overly restrictive or destroy sharing through the specialization process, which is unacceptable from a performance point of view. In this work, we present the basis of a new partial evaluation scheme for first-order lazy functional programs that preserves sharing through the specialization process and still allows the unfolding of arbitrary function calls.

Available: PDF preprint BibTeX-Entry


Germán Vidal