Negation and control in Prolog
Negation and control in Prolog
Journal of Logic Programming
Intensional negation of logic programs: examples and implementation techniques
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
A transformational approach to negation in logic programming
Journal of Logic Programming
The craft of Prolog
Compile-time derivation of variable dependency using abstract interpretation
Journal of Logic Programming
Analyzing logic programs with dynamic scheduling
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cardinality analysis of Prolog
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Program analysis, debugging, and optimization using the ciao system preprocessor
Proceedings of the 1999 international conference on Logic programming
How to Incorporate Negation in a Prolog Compiler
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
Extending Constructive Logic Negation with Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
While negation has been a very active area of research in logic programming, comparatively few papers have been devoted to implementation issues. Furthermore, the negation-related capabilities of current Prolog systems are limited. We recently presented a novel method for incorporating negation in a Prolog compiler which takes a number of existing methods (some modified and improved by us) and uses them in a combined fashion. The method makes use of information provided by a global analysis of the source code. Our previous work focused on the systematic description of the techniques and the reasoning about correctness and completeness of the method, but provided no experimental evidence to evaluate the proposal. In this paper, we provide experimental data which indicates that the method is not only feasible but also quite promising from the efficiency point of view. In addition, the tests have provided new insight as to how to improve the proposal further. Abstract interpretation techniques (in particular those included in the Ciao Prolog system preprocessor) are important for the strategy to success.