Preserving Sharing in the Partial Evaluation of Lazy Functional Programs

Sebastian Fischer, Josep Silva, Salvador Tamarit, and Germán Vidal
International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR'07), Kongens Lyngby (Denmark).

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 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 functions.

Available: PDF BibTeX-Entry


Germán Vidal