A Transformational Approach to Polyvariant BTA of Higher-Order Functional Programs

Gustavo Arroyo, J.Guadalupe Ramos, Salvador Tamarit, and Germán Vidal
International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR'08), pp. 121-130, Valencia (Spain).

We introduce a transformational approach to improve the first stage of offline partial evaluation of functional programs, the so called binding-time analysis (BTA). We first introduce an improved defunctionalization algorithm that transforms higher-order functions into first-order ones, so that existing techniques for termination analysis and propagation of binding-times of first-order programs can be applied. Then, we define another transformation (tailored to defunctionalized programs) that allows us to get the accuracy of a polyvariant BTA from a monovariant BTA over the transformed program. Finally, we show a summary of experimental results that demonstrate the usefulness of our approach.

Available: PDF BibTeX-Entry


Germán Vidal