OLD resolution with tabulation
Proceedings on Third international conference on logic programming
Magic sets and other strange ways to implement logic programs (extended abstract)
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87
On the power of Alexander templates
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Prolog and its performance: exploiting independent and-parallelism
Logic programming
On criteria for or-parallel execution models of logic programs
Proceedings of the 1990 North American conference on Logic programming
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Subsumption-oriented Push-Down Automata
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
A structure-sharing representation for unification-based grammar formalisms
ACL '85 Proceedings of the 23rd annual meeting on Association for Computational Linguistics
Hi-index | 0.00 |
We present in this paper a structure–sharing framework originally developed for a Dynamic Programming interpreter of Logic programs called DyALog. This mechanism should be of interest for alternative execution models of PROLOG which maintain multiple computation branches and reuse sub-computations in various contexts (computation sharing). This category includes, besides our Dynamic Programming model, the tabular models (OLDT, SLDAL, XWAM), the “magic-set” models, and the independent AND and OR parallelism with solution sharing models. These models raise the problem of storing vast amount of data, motivating us to discard copying mechanisms in favor of structure-sharing mechanisms. Unfortunately, computation sharing requires joining computation branches and possibly renaming some variables, which generally leads to complex structure-sharing mechanisms. The proposed “layer-sharing” framework succeeds however in remaining understandable and easy to implement.