[mod.ai] Functional and Logic Programming

narain@RAND-UNIX.ARPA (05/28/86)

Reply to Paul Fishwick regarding a language which incorporates both
functional and logic programming, (AIList digest v.4 #124.):


In a recent paper "A technique for doing lazy evaluation in logic" I describe
a method of defining functions in a logic-based language such as Prolog.

It is shown how we can keep Prolog fixed, but define functions in such
a way that their interpretation by Prolog directly yields lazy evaluation.
This contrasts with conventional approaches for doing lazy evaluation
which keep the programming style fixed but modify the underlying
interpreter.

More generally the technique can be viewed as a natural and efficient
method of combining functional and logic programming. The paper appeared
in 1985 IEEE Symposium on Logic Programming, and a substantially expanded
version of it is to appear in the Journal of Logic Programming.

Sanjai Narain
Rand Corp.