A Unified Computation Model for Declarative Programming

by Michael Hanus

1997 Joint Conference on Declarative Programming (APPIA-GULP-PRODE'97), Invited talk, 1997

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 insufficiently instantiated function calls, it also supports a concurrent style of programming. We show that many known evaluation principles of declarative languages are particular instances of our model. This computation model is the basis of Curry, a multi-paradigm language which combines functional, logic and concurrent programming styles. We conclude with a description of some features of Curry.

Preprint (DVI) Preprint (Postscript) BibTeX-Entry