Foundations of logic programming
Foundations of logic programming
Negation and control in Prolog
Negation and control in Prolog
An abstract machine for restricted AND-parallel execution of logic programs
Proceedings on Third international conference on logic programming
Negations and quantifiers in NU-Prolog
Proceedings on Third international conference on logic programming
Parallel execution of logic programs
Parallel execution of logic programs
Denotational and operational semantics for Prolog
Journal of Logic Programming
Automatic mode inference for logic programs
Journal of Logic Programming
The Semantics of Predicate Logic as a Programming Language
Journal of the ACM (JACM)
Theory of Relational Databases
Theory of Relational Databases
Static inference of modes and data dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards Banishing the Cut from Prolog
IEEE Transactions on Software Engineering
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An abstract machine for CLP(R)
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Efficient dataflow analysis of logic programs
Journal of the ACM (JACM)
The 3 R's of optimizing constraint logic programs: refinement, removal and reordering
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analyzing logic programs with dynamic scheduling
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 30th IEEE symposium on Foundations of computer science
Space optimization in deductive databases
ACM Transactions on Database Systems (TODS)
Reducing nondeterminism while specializing logic programs
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Path dependent analysis of logic programs
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning About Equations and Functional Dependencies on Complex Objects
IEEE Transactions on Knowledge and Data Engineering
Reasoning about Uniqueness Constraints in Object Relational Databases
IEEE Transactions on Knowledge and Data Engineering
Path Dependent Analysis of Logic Programs
Higher-Order and Symbolic Computation
Sequence-based abstract interpretation of Prolog
Theory and Practice of Logic Programming
Determinacy analysis for logic programs using mode and type information
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Hi-index | 0.00 |
Although the ability to simulate nondeterminism and to compute multiple solutions for a single query is a powerful and attractive feature of logic programming languages, it is expensive in both time and space. Since programs in such languages are very often functional, that is, they do not produce more than one distinct solution for a single input, this overhead is especially undesirable. This paper describes how programs may be analyzed statically to determine which literals and predicates are functional, and how the program may then be optimized using this information. Our notion of “functionality” subsumes the notion of “determinacy” that has been considered by various researchers. Our algorithm is less reliant on language features such as the cut, and thus extends more easily to parallel execution strategies, than others that have been proposed.