A Partial Evaluation Framework for Curry Programs

  • Authors:
  • Elvira Albert;María Alpuente;Michael Hanus;Germán Vidal

  • Affiliations:
  • -;-;-;-

  • Venue:
  • LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

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 trainsformed program have the same answer expressions for the considered class of queries as well as the same floundering behavior. 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 for the partial evaluation of functional logic programs with delays.