Default rules: an extension of constructive negation for narrowing-based languages
Proceedings of the eleventh international conference on Logic programming
Negation and constraint logic programming
Information and Computation
Theories of programming languages
Theories of programming languages
A Rewriting Logic for Declarative Programming
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Functional Logic Programming with Failure: A Set-Oriented View
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Narrowing Failure in Functional Logic Programming
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Proving Failure in Functional Logic Programs
CL '00 Proceedings of the First International Conference on Computational Logic
Proceedings of the Third International Conference on Algebraic and Logic Programming
Extending Constructive Negation for Partial Functions in Lazy Functional-logic Languages
ELP '96 Proceedings of the 5th International Workshop on Extensions of Logic Programming
Constructor-based conditional narrowing
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A proof theoretic approach to failure in functional logic programming
Theory and Practice of Logic Programming
Narrowing Failure in Functional Logic Programming
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Constraint Functional Logic Programming Revisited
Electronic Notes in Theoretical Computer Science (ENTCS)
A relation algebraic semantics for a lazy functional logic language
RelMiCS'08/AKA'08 Proceedings of the 10th international conference on Relational and kleene algebra methods in computer science, and 5th international conference on Applications of kleene algebra
Hi-index | 0.00 |
Negation as failure is an important language feature within the logic programming paradigm. The natural notion generalizing negation as failure in a functional logic setting is that of finite failure of reduction. In previous works we have shown the interest of using such programming construct when writing functional logic programs, and we have given a logical status to failure by means of proof calculi designed to deduce failures from programs. In this paper we address the problem of the operational mechanism for the execution of functional logic programs using failure. Our main contribution is the proposal of a narrowing relation able to deal with failures, which is constructive in the usual sense of the term in the context of negation, that is, narrowing is able to find substitutions for variables even in presence of failures. As main technical results, we prove correctness and completeness of the narrowing relation with respect to the proof-theoretic semantics.