2008
DOI: 10.1007/978-3-540-92995-6_16
|View full text |Cite
|
Sign up to set email alerts
|

Towards a Complete Scheme for Tabled Execution Based on Program Transformation

Abstract: Abstract. Tabled evaluation has proved to be an effective method to improve several aspects of goal-oriented query evaluation, including termination and complexity. "Native" implementations of tabled evaluation offer good performance, but also require significant implementation effort, affecting compiler and abstract machine. Alternatively, program transformation-based implementations, such as the original continuation call (CCall) technique, offer lower implementation burden at some efficiency cost. A limitat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2009
2009
2018
2018

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(6 citation statements)
references
References 22 publications
0
6
0
Order By: Relevance
“…This provides confidence that an improved implementation (for example, tabling primitives are not yet compiled into WAM code and still have to traverse the Prolog-C interface as in [15]), the internal representation for MVB can be improved, and goal scheduling is still simplistic and does not try to favor our technique by decreasing the probability of cache misses) can make MVB a viable technique for tabling which does not need very complicated stack management and which can compete with state-of-the-art systems.…”
Section: Experimental Evaluationmentioning
confidence: 98%
See 1 more Smart Citation
“…This provides confidence that an improved implementation (for example, tabling primitives are not yet compiled into WAM code and still have to traverse the Prolog-C interface as in [15]), the internal representation for MVB can be improved, and goal scheduling is still simplistic and does not try to favor our technique by decreasing the probability of cache misses) can make MVB a viable technique for tabling which does not need very complicated stack management and which can compete with state-of-the-art systems.…”
Section: Experimental Evaluationmentioning
confidence: 98%
“…Due to space limitations several details of the implementation of tabling based on suspension are not discussed. For a more complete description, the reader is referred to [9,11,15].…”
Section: Tabling and Variable Managementmentioning
confidence: 99%
“…For the max mode, the algorithm then tries to update BE with ANS if it is greater than the current answer in BE. To do so, it repeats a CAS operation until it succeeds (lines [8][9][10][11][12] or until it finds a better (maximal) answer, a case where it simply returns such answer (lines 10-11).…”
Section: Algorithmsmentioning
confidence: 99%
“…Work on tabling proved its viability for application areas such as deductive databases, inductive logic programming, knowledge based systems, model checking, program analysis, and reasoning in the semantic web, among many others. Currently, the tabling technique is widely available in systems like B‐Prolog, Ciao Prolog, Mercury, Picat, XSB Prolog, and YAP Prolog . Mode‐directed tabling is an extension to the tabling technique that supports the definition of alternative criteria, or modes , for specifying how answers are inserted into the table space.…”
Section: Introductionmentioning
confidence: 99%
“…Several Prolog systems that initially did not support tabling are, nowadays, converging to support some kind of tabling mechanism. Implementations of tabling are currently available in systems such as B-Prolog [33], Ciao Prolog [34], Mercury [5], SWI-Prolog [8], XSB Prolog [32] and YAP Prolog [35]. For our test bench environment, it is then particularly important to support the evaluation of tabled programs.…”
Section: Logic Programming Prolog and Tablingmentioning
confidence: 99%