A Unified Computation Model for Functional and Logic Programming

by Michael Hanus

Proc. of the 24th Annual SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'97), ACM Press, pp. 80-93, 1997
© ACM Press

We propose a new computation model which combines the operational principles of functional languages (reduction), logic languages (non-deterministic search for solutions), and integrated functional logic languages (residuation and narrowing). This computation model combines efficient evaluation principles of functional languages with the problem-solving capabilities of logic programming. Since the model allows the delay of function calls which are not sufficiently instantiated, it also supports a concurrent style of programming. We provide soundness and completeness results and show that known evaluation principles of functional logic languages are particular instances of this model. Thus, our model is a suitable basis for future declarative programming languages.

Preprint (PDF) BibTeX-Entry Online