Title
Tabling as a library with delimited control
Abstract
The logic programming language Prolog uses a resource-efficient SLD resolution strategy for query answering. Yet, its propensity for nontermination seriously detracts from the language's declarative nature. This problem is remedied by tabling, a modified execution strategy that allows a larger class of programs to terminate. Unfortunately, few Prolog systems provide tabling, because the documented implementation techniques are complex, low-level and require a prohibitive engineering effort. To enable more widespread adoption, this paper presents a novel implementation of tabling for Prolog that is both high-level and compact. It comes in the form of a Prolog library that weighs in at under 600 lines of code, is based on delimited control and delivers reasonable performance.
Year
DOI
Venue
2016
10.1017/S1471068415000137
international joint conference on artificial intelligence
Keywords
DocType
Volume
logic programming,prolog,tabulation,delimited continuations
Conference
abs/1507.08087
Issue
ISSN
ISBN
4-5
1471-0684
978-1-57735-770-4
Citations 
PageRank 
References 
0
0.34
13
Authors
3
Name
Order
Citations
PageRank
Benoit Desouter182.69
Marko van Dooren2214.40
tom schrijvers365263.35