Implementation of narrowing: the Prolog-based approach
Logic programming languages
ACM Computing Surveys (CSUR)
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of the ACM (JACM)
Implementing Encapsulated Search for a Lazy Functional Logic Language
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Functional Logic Design Patterns
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Controlling Search in Declarative Programs
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Compiling Multi-Paradigm Declarative Programs into Prolog
FroCoS '00 Proceedings of the Third International Workshop on Frontiers of Combining Systems
Efficient Translation of Lazy Functional Logic Programs into Prolog
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
An implementation of narrowing strategies
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Translating curry to haskell system demo
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
A virtual machine for functional logic computations
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
Computing with failures is a typical programming technique in functional logic programs. However, there are also situations where a program should not fail (e.g., in a deterministic top-level computation) but the evaluation fails accidentally, e.g., due to missing pattern combinations in an operation defined by pattern matching. In this case, the programmer is interested in the context of the failed program point in order to analyze the reason of the failure. Therefore, this paper discusses techniques for reporting failures and proposes a new one that has been integrated in a Prolog-based compiler for the declarative multi-paradigm language Curry. Our new technique supports separate compilation of modules, i.e., the compilation of modules has not taken into account whether failures should be reported or not. The failure reporting is only considered in some linking code for modules. In contrast to previous approaches, the execution of programs in the failure reporting mode causes only a small overhead so that it can be also used in larger applications.