Hostname: page-component-76d6cb85b7-rxvq6 Total loading time: 0 Render date: 2026-07-17T22:30:18.087Z Has data issue: false hasContentIssue false

XSB: Extending Prolog with Tabled Logic Programming

Published online by Cambridge University Press:  30 December 2011

TERRANCE SWIFT
Affiliation:
CENTRIA, Faculdade de Ciências e Tecnologia, Univ. Nova de Lisboa, 2825-516 Caparica, Portugal (e-mail: tswift@cs.sunysb.edu)
DAVID S. WARREN
Affiliation:
Department of Computer Science, SUNY Stony Brook, Stony Brook, New York, USA (e-mail: warren@cs.sunysb.edu)

Abstract

The paradigm of Tabled Logic Programming (TLP) is now supported by a number of Prolog systems, including XSB, YAP Prolog, B-Prolog, Mercury, ALS, and Ciao. The reasons for this are partly theoretical: tabling ensures termination and optimal known complexity for queries to a large class of programs. However, the overriding reasons are practical. TLP allows sophisticated programs to be written concisely and efficiently, especially when mechanisms such as tabled negation and call and answer subsumption are supported. As a result, TLP has now been used in a variety of applications from program analysis to querying over the semantic web. This paper provides a survey of TLP and its applications as implemented in the XSB Prolog, along with discussion of how XSB supports tabling with dynamically changing code, and in a multi-threaded environment.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2012

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable