Multi-pass execution of functional logic programs

  • Authors:
  • Jukka Paakki

  • Affiliations:
  • Department of Computer Science, University of Jyväskylä, P. O. Box 35, FIN -40351 Jyväskylä, Finland

  • Venue:
  • POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

An operational semantics for functional logic programs is presented. In such programs functional terms provide for reduction of expressions, provided that they ground. The semantics is based on multi-pass evaluation techniques originally developed for attribute grammars. Program execution is divided into two phases: (1) construction of an incomplete proof tree, and (2) its decoration into a complete proof tree. The construction phase applies a modified SLD-resolution scheme, and the decoration phase a partial (multi-pass) traversal over the tree. The phase partition is generated by static analysis where data dependencies are extracted for the functional elements of the program. The method guarantees that all the functional terms of a program can be evaluated, and no dynamic groundness checks are needed.