Specialization of Inductively Sequential Functional Logic Programs

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

© ACM Press
Proc. of the 1999 ACM International Conference on Functional Programming (ICFP'99). ACM Sigplan Notices 34(9): 273-283, 1999

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.

Available: DVI PS BibTeX Entry


Germán Vidal