Abstract
SLG resolution uses tabling to evaluate nonfloundering normal logic programs according to the well-founded semantics. The SLG-WAM, which forms the engine of the XSB system, can compute in-memory recursive queries an order of magnitude faster than current deductive databases. At the same time, the SLG-WAM tightly integrates Prolog code with tabled SLG code, and executes Prolog code with minimal overhead compared to the WAM. As a result, the SLG-WAM brings to logic programming important termination and complexity properties of deductive databases. This article describes the architecture of the SLG-WAM for a powerful class of programs, the class of fixed-order dynamically stratified programs. We offer a detailed description of the algorithms, data structures, and instructions that the SLG-WAM adds to the WAM, and a performance analysis of engine overhead due to the extensions.
Original language | English (US) |
---|---|
Pages (from-to) | 586-634 |
Number of pages | 49 |
Journal | ACM Transactions on Programming Languages and Systems |
Volume | 20 |
Issue number | 3 |
DOIs | |
State | Published - May 1998 |
Externally published | Yes |
Keywords
- D.1.2 [Programming Techniques]: Automatic Programming
- D.1.6 [Programming Techniques]: Logic Programming
- D.3.4 [Programming Languages]: Processors - compilers; interpreters; optimization
ASJC Scopus subject areas
- Software