Notes on Prolog program transformations, Prolog style, and efficient compilation to the Warren abstract machine
Most of the efficient implementations of Prolog are based on Warren's abstract machine [1,4]. Evan Tick  has argued that a substantial percentage of execution time in such implementations is directly related to the creation and the use of choice points. In this paper, we discuss how the overhead of choice point creation and processing can be avoided without sacrificing the declarative meaning of Prolog programs.
Unable to display preview. Download preview PDF.
- J. Gabriel, T. Lindholm, E. Lusk and R. A. Overbeek, “Tutorial on Warren abstract machine,” Technical Report ANL-84-84, Argonne National Laboratory, Argonne, Illinois, October, 1984.Google Scholar
- E. L. Lusk, R. A. Overbeek, and R. Butler, “The Warren abstract machine for computational logic: Extension to support cut, the occur check, subsumption checks and unit databases, (in preparation).Google Scholar
- E. Tick, “Lisp and Prolog memory performance,” Technical Report 86-291, Departments of Electrical Engineering and Computer Science, Stanford University, January, 1986.Google Scholar
- D. H. D. Warren, “An abstract prolog instruction set,” SRI Technical Note 309, SRI International, October, 1984.Google Scholar