## Rules + Strategies for Transforming Lazy Functional Logic Programs

**María Alpuente, Moreno Falaschi, Ginés Moreno, and
Germán Vidal**
© Elsevier Science

*Theoretical Computer Scienc * 311(1-3), pp. 479-525, Jan 2004.

This work introduces a transformation methodology for functional
logic programs based on needed narrowing, the optimal and complete
operational principle for modern declarative languages which
integrate the best features of functional and logic programming. We
provide correctness results for the transformation system w.r.t.
the set of *computed valueso* and *answer substitutions*
and show that the prominent properties of needed narrowing (namely,
the optimality w.r.t. the length of derivations and the number of
computed solutions) carry over to the transformation process and
the transformed programs. We illustrate the power of the system by
taking on in our setting two well-known transformation strategies
(*composition* and *tupling*). We also provide an
implementation of the transformation system which, by means of some
experimental results, highlights the potentiality of our approach.

Available:
PDF (preliminary version)
Online article
BibTeX Entry

Germán Vidal