| | |
Summary: Specialization of Functional Logic Programs
with Dynamic Scheduling ?
Elvira Albert 1 , Mar'ia Alpuente 1 , Michael Hanus 2 , and Germ'an Vidal 1
1 DSIC, UPV, Camino de Vera s/n, E46022 Valencia, Spain
fealbert,alpuente,gvidalg@dsic.upv.es
2 Informatik II, RWTH Aachen, D52056, Germany
hanus@informatik.rwthaachen.de
Abstract. In this work, we develop a partial evaluation technique for
residuating functional logic programs, which generalize the concurrent
computation models for logic programs with delays to functional logic
programs. We show how to lift the nondeterministic choices from run
time to specialization time. We ascertain the conditions under which the
original and the transformed program have the same answer expressions
for the considered class of queries as well as the same floundering behav
ior. All these results are relevant for program optimization in Curry, a
functional logic language which is intended to become a standard in this
area. Preliminary empirical evaluation of the specialized Curry programs
demonstrates that our technique also works well in practice and leads to
substantial performance improvements. To our knowledge, this work is
the first attempt to formally define and prove correct a general scheme
|