Notes on Prolog program transformations, Prolog style, and efficient compilation to the Warren abstract machine

  • Ralph M. Butler
  • Rasiah Loganantharaj
  • Robert Olson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 310)


Most of the efficient implementations of Prolog are based on Warren's abstract machine [1,4]. Evan Tick [3] 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.

Unable to display preview. Download preview PDF.


  1. [1]
    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
  2. [2]
    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
  3. [3]
    E. Tick, “Lisp and Prolog memory performance,” Technical Report 86-291, Departments of Electrical Engineering and Computer Science, Stanford University, January, 1986.Google Scholar
  4. [4]
    D. H. D. Warren, “An abstract prolog instruction set,” SRI Technical Note 309, SRI International, October, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Ralph M. Butler
    • 1
  • Rasiah Loganantharaj
    • 2
  • Robert Olson
    • 3
  1. 1.Division of Computer and Information ScienceUniv. of North FloridaJacksonville
  2. 2.Center for Advanced Computer StudiesLafayette
  3. 3.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonne

Personalised recommendations