Issues in Implementing Logic Languages

by Peter Van Roy, May 1994.


How does one go about implementing a new logic language? What are the principles underlying simple and efficient implementations? What is the quickest way to build a fast system? How does one avoid reinventing the wheel? This talk provides answers to these and other questions. The talk is divided into three parts: high-level issues, Prolog implementation issues, and general implementation techniques. Examples are taken from various logic languages, including constraint languages. The talk provides a plethora of information that will be helpful to both the novice implementor and the experienced practitioner. For more information, see the foundation of Aquarius Prolog and the Half_Life compiler.

This talk presents and justifies three important ideas:

Full Text of Talk (310K) (except for naive reverse example)


High-Level Issues

Prolog Implementation Issues

Some General Implementation Techniques


Please send all comments to