Specialization of Inductively Sequential Functional Logic Programs

by María Alpuente, Michael Hanus, Salvador Lucas, Germán Vidal

Proc. of the International Conference on Functional Programming (ICFP'99), ACM Press, pp. 273-283, 1999
© ACM Press

Functional logic languages combine the operational principles of the most important declarative programming paradigms, namely functional and logic programming. Inductively sequential programs admit the definition of optimal computation strategies and are the basis of several recent (lazy) functional logic languages. In this paper, we define a partial evaluator for inductively sequential functional logic programs. We prove strong correctness of this partial evaluator and show that the nice properties of inductively sequential programs carry over to the specialization process and the specialized programs. In particular, the structure of the programs is preserved by the specialization process. This is in contrast to other partial evaluation methods for functional logic programs which can destroy the original program structure. Finally, we present some experiments which highlight the practical advantages of our approach.

Preprint (PDF) BibTeX-Entry Online