Summary: A Transformation System for Lazy Functional
Logic Programs ?
Mar'ia Alpuente 1 , Moreno Falaschi 2 , Gin'es Moreno 3 , and Germ'an Vidal 1
1 DSIC, UPV, Camino de Vera s/n, 46022 Valencia, Spain.
2 Dip. Mat. e Informatica, U. Udine, 33100 Udine, Italy. firstname.lastname@example.org
3 Dep. Inform'atica, UCLM, 02071 Albacete, Spain. email@example.com
Abstract. Needed narrowing is a complete operational principle for
modern declarative languages which integrate the best features of (lazy)
functional and logic programming. We define a transformation methodol
ogy for functional logic programs based on needed narrowing. We provide
(strong) correctness results for the transformation system w.r.t. the set
of computed values and answer substitutions and show that the promi
nent 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 illus
trate the power of the system by taking on in our setting two wellknown
transformation strategies (composition and tupling). We also provide an
implementation of the transformation system which, by means of some
experimental results, highlights the benefits of our approach.