High‐level management of computation history for the design and implementation of a prolog system
Vincenzo Loia, Michel Quaggetto · Software Practice and Experience · 1993
Abstract We present the implementation of a Prolog system composed of interpreter and compiler. The originality of our work consists in the adoption of a new framework to realize the main components of the system. The framework relies on new mechanisms, called sleepers. With their help we have developed a complete Prolog interpreter in which all the control activities, from backtracking up to last‐call optimization, are performed by the sleeper mechanism. We have also produced a Prolog compiler by using a philosophy and tactics that are completely independent of hardware constraints; it exploits an incremental and abstract implementation technique, based on a delayed non‐local execution protocol. Our approach to Prolog system implementation has been extremely useful both in terms of software design and overall performance.