Suspending and resuming computations in engines for SLG evaluation

Luís F. Castro, Terrance Swift, David S. Warren

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Scopus citations


SLD resolution, the evaluation mechanism for Prolog programs, is modeled as a sequence of SLD trees. Since only one branch of an SLD tree needs to be active at any time, SLD can be implemented via engines whose memory management is stack-based, as the WAM. Tabling, and more specifically SLG resolution, is modeled as a sequence of forests of trees in which several computation paths may need to be active at any time. This reflects the fact that a computation path that consumes answers may need to be suspended and resumed multiple times as answers are derived. The SLGWAM architecture defines instructions to implement SLG resolution. Implementations of the SLGWAM architecture have so far shown a great deal of similarity in table access methods, high-level scheduling strategies, and support for incremental completion. However they have made different choices in what may be termed environment management: how to store suspended environments and how to check whether these environments need to be resumed. This paper describes the environment management techniques of different implementations of the SLGWAM architecture and analyzes their performance.

Original languageEnglish (US)
Title of host publicationPractical Aspects of Declarative Languages - 4th International Symposium, PADL 2002, Proceedings
EditorsShriram Krishnamurthi, C.R. Ramakrishnan
PublisherSpringer Verlag
Number of pages18
ISBN (Print)354043092X, 9783540430926
StatePublished - 2002
Event4th International Symposium on Practical Applications of Declarative Languages, PADL 2002 - Portland, United States
Duration: Jan 19 2002Jan 20 2002

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other4th International Symposium on Practical Applications of Declarative Languages, PADL 2002
Country/TerritoryUnited States

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Suspending and resuming computations in engines for SLG evaluation'. Together they form a unique fingerprint.

Cite this