Communications of the ACM
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Practical program analysis using general purpose logic programming systems—a case study
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementation of Tabled Evaluation with Delaying in Prolog
IEEE Transactions on Knowledge and Data Engineering
OLD Resolution with Tabulation
Proceedings of the Third International Conference on Logic Programming
Proceedings of the 17th International Conference on Logic Programming
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
CHAT: The Copy-Hybrid Approach to Tabling
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Suspending and Resuming Computations in Engines for SLG Evaluation
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
CAT: The Copying Approach to Tabling
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Efficient Model Checking Using Tabled Resolution
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
High-level languages for small devices: a case study
CASES '06 Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
Linear tabling strategies and optimizations
Theory and Practice of Logic Programming
Comparing tag scheme variations using an abstract machine generator
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
An improved continuation call-based implementation of tabling
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
F-OWL: an inference engine for semantic web
FAABS'04 Proceedings of the Third international conference on Formal Approaches to Agent-Based Systems
A Tabling Implementation Based on Variables with Multiple Bindings
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
An efficient implementation of linear tabling based on dynamic reordering of alternatives
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
The advantages of tabled evaluation regarding program termination and reduction of complexity are well known --as are the significant implementation, portability, and maintenance efforts that some proposals (especially those based on suspension) require. This implementation effort is reduced by program transformation-based continuation call techniques, at some efficiency cost. However, the traditional formulation of this proposal [1] limits the interleaving of tabled and non-tabled predicates and thus cannot be used as-is for arbitrary programs. In this paper we present a complete translation for the continuation call technique which, while requiring the same runtime support as the traditional approach, solves these problems and makes it possible to execute arbitrary tabled programs. We also present performance results which show that the resulting CCall approach offers a useful tradeoff that can be competitive with other state-of-the-art implementations.