Specialization of Inductively Sequential
Functional Logic Programs
M. Alpuente, M. Hanus, S. Lucas, G. Vidal
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.