Compiling Functional Programming Constructs to a Logic Engine

ID
TR-86-24
Authors
Harvey Abramson and Peter Lüdemann
Publishing date
November 1986
Abstract
In this paper we consider how various constructs used in functional programming can be efficiently translated to code for a Prolog engine (designed by Lüdemann) similar in spirit but not identical to the Warren machine. It turns out that this Prolog engine which contains a delay mechanism designed to permit coroutining and sound implementation of negation is sufficient to handle all common functional programming constructs; indeed, such a machine has about the same efficiency as a machine designed specifically for a functional programming language. This machine has been fully implemented.