Nondeterministic algebraic specifications and nonconfluent term rewriting
Journal of Logic Programming
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Purely functional data structures
Purely functional data structures
Admissible graph rewriting and narrowing
JICSLP'98 Proceedings of the 1998 joint international conference and symposium on Logic programming
Journal of the ACM (JACM)
An Assertion Language for Constraint Logic Programs
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
Extended static checking for haskell
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Systematic generation of glass-box test cases for functional logic programs
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A simple rewrite notion for call-time choice semantics
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Set functions for functional logic programming
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Communications of the ACM
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Lazy and enforceable assertions for functional logic programs
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Hi-index | 0.00 |
The expressive power of functional logic languages supports high-level specifications as well as efficient implementations of problems in the same language. If specifications are executable, they can be used both as initial prototypical implementations and as contracts for checking the reliable execution of implementations intended to satisfy the specification. In this paper, we propose a practical framework to support this general approach to coding. We discuss the notions of specifications and contracts for functional logic programming and present a tool that supports the development of declarative programs based on these notions.