Nondeterminism in algebraic specifications and algebraic programs
Nondeterminism in algebraic specifications and algebraic programs
Default rules: an extension of constructive negation for narrowing-based languages
Proceedings of the eleventh international conference on Logic programming
A Rewriting Logic for Declarative Programming
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Proceedings of the Third International Conference on Algebraic and Logic Programming
Optimal Non-deterministic Functional Logic Computations
ALP '97-HOA '97 Proceedings of the 6th International Joint 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
Narrowing Failure in Functional Logic Programming
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Hi-index | 0.00 |
Finite failure of computations plays an important role as programming construct in the logic programming paradigm, and it has been shown that this also extends to the case of the functional logic programming paradigm. In particular we have considered CRWLF, a previous proof-theoretic semantic framework able to deduce negative (failure) information from functional logic programs. The non-deterministic nature of functions considered in CRWLF leads naturally to set-valued semantic description of expressions. Here we reformulate the framework to stress that set flavour, both at syntactic and semantic levels. The given approach, for which we obtain equivalence results with respect to the previous one, increases the expressiveness for writing programs and (hopefully) clarifies the understanding of the semantics given to nondeterministic functions, since classical mathematical notions like union of sets or families of sets are used. An important step in the reformulation is a useful program transformation which is proved to be correct within the framework.