Communications of the ACM
A portable method for integrating SLG resolution into prolog systems
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
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)
OLD Resolution with Tabulation
Proceedings of the Third International Conference on Logic Programming
Proceedings of the 17th International Conference on Logic Programming
CHAT: The Copy-Hybrid Approach to Tabling
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
Linear tabling strategies and optimizations
Theory and Practice of Logic Programming
On applying program transformation to implement suspension-based tabling in prolog
ICLP'07 Proceedings of the 23rd international conference on Logic programming
An improved continuation call-based implementation of tabling
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Hi-index | 0.00 |
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 limitation of the original CCall proposal is that it limits the interleaving of tabled and non-tabled predicates and thus cannot be used for arbitrary programs. In this work we present an extension of the CCall technique that allows the execution of arbitrary tabled programs, as well as some performance results. Our approach offers a useful tradeoff that can be competitive with state-of-the-art implementations, while keeping implementation effort relatively low.