XSB: Extending Prolog with Tabled Logic Programming

被引:85
|
作者
Swift, Terrance [1 ]
Warren, David S. [2 ]
机构
[1] Univ Nova Lisboa, CENTRIA, Fac Ciencias & Tecnol, P-2825516 Caparica, Portugal
[2] SUNY Stony Brook, Dept Comp Sci, Stony Brook, NY 11794 USA
基金
美国国家科学基金会;
关键词
Prolog; tabling; implementation; non-monotonic reasoning; SEMANTICS; CONCURRENT; ENGINE;
D O I
10.1017/S1471068411000500
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:157 / 187
页数:31
相关论文
共 50 条
  • [1] Planning as tabled logic programming
    Zhou, Neng-Fa
    Bartak, Roman
    Dovier, Agostino
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2015, 15 : 543 - 558
  • [2] LOGIC PROGRAMMING IN PROLOG
    GOODALL, A
    [J]. DATA PROCESSING, 1984, 26 (02): : 37 - &
  • [3] A system for tabled constraint logic programming
    Cui, BQ
    Warren, DS
    [J]. COMPUTATIONAL LOGIC - CL 2000, 2000, 1861 : 478 - 492
  • [4] Approximate pruning in tabled logic programming
    Castro, LF
    Warren, DS
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 2618 : 69 - 83
  • [5] Incremental evaluation of tabled Prolog: Beyond pure logic programs
    Saha, D
    Ramakrishnan, CR
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2006, 3819 : 215 - 229
  • [6] Deductive spreadsheets using tabled logic programming
    Ramakrishnan, C. R.
    Ramakrishnan, I. V.
    Warren, David S.
    [J]. LOGIC PROGRAMMING, PROCEEDINGS, 2006, 4079 : 391 - 405
  • [7] Model checking with probabilistic tabled logic programming
    Gorlin, Andrey
    Ramakrishnan, C. R.
    Smolka, Scott A.
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2012, 12 : 681 - 700
  • [8] Failure tabled constraint logic programming by interpolation
    Gange, Graeme
    Navas, Jorge A.
    Schachte, Peter
    Sondergaard, Harald
    Stuckey, Peter J.
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2013, 13 : 593 - 607
  • [9] Mutable terms in a tabled logic programming system
    Cui, B
    Warren, DS
    [J]. LOGIC PROGRAMMING: PROCEEDINGS OF THE 1999 INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1999, : 305 - 319
  • [10] On modeling planning problems in tabled logic programming
    Bartak, Roman
    Dovier, Agostino
    Zhou, Neng-Fa
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2015), 2015, : 31 - 42