Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 17th International Conference on Logic Programming
Computing Well-founded Semantics Faster
LPNMR '95 Proceedings of the Third International Conference on Logic Programming and Nonmonotonic Reasoning
On applying or-parallelism and tabling to logic programs
Theory and Practice of Logic Programming
Concurrent and Local Evaluation of Normal Programs
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
A Tabling Implementation Based on Variables with Multiple Bindings
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Queries to Hybrid MKNF Knowledge Bases through Oracular Tabling
ISWC '09 Proceedings of the 8th International Semantic Web Conference
Tabling in mercury: design and implementation
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
Implementing query answering for hybrid MKNF knowledge bases
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Concurrent and Local Evaluation of Normal Programs
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Threads and or-parallelism unified
Theory and Practice of Logic Programming
Xsb: Extending prolog with tabled logic programming
Theory and Practice of Logic Programming - Prolog Systems
Towards multi-threaded local tabling using a common table space
Theory and Practice of Logic Programming
Hi-index | 0.00 |
Newer Prolog implementations commonly offer support for multithreading, and many also offer support for tabling. However, most implementations do not yet integrate tabling with multi-threading, and in particular do not support the sharing of a tabled computation among threads. In this paper we present algorithms to share completed tables among threads based on Concurrent Local SLG evaluation (SLGCL). SLGCL is based on the Local scheduling strategy, and is designed to support applications in which threads concurrently share tabled evaluations. Version 3.2 of XSB implements SLGCL in the SLGCLWAM, which fully supports well-founded tabled negation, construction of residual programs, tabled constraints and answer subsumption. The implementation of SLGCL requires significant additions to a single tabling operation only. As a result, SLGCL should be implementable by any tabling systems that uses Local evaluation based on the SLG-WAM or Chat engine, and may also be applicable to those using linear tabling.