FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Non-determinism in functional languages
The Computer Journal - Special issue on formal methods: part 1
Handbook of logic in computer science (vol. 3)
Algebraic approaches to nondeterminism—an overview
ACM Computing Surveys (CSUR)
Value recursion in monadic computations
Value recursion in monadic computations
Composing programs in a rewriting logic for declarative programming
Theory and Practice of Logic Programming
Equivalence of Two Formal Semantics for Functional Logic Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
A Fully Abstract Semantics for Constructor Systems
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Free theorems for functional logic programs
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
On a tighter integration of functional and logic programming
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Transparent function types: clearing up opacity
Proceedings of the 14th symposium on Principles and practice of declarative programming
A semantics for weakly encapsulated search in functional logic programs
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
With the aim of putting type-based reasoning for functional logic languages, as recently explored by [5], on a formal basis, we develop a denotational semantics for a typed core language of Curry. Dealing with the core language FlatCurry rather than with full Curry suffices, since there exists a type-preserving translation from the latter into the former. In contrast to existing semantics for functional logic languages, we deliberately approach the problem "from the functional side". That is, rather than adapting approaches previously known from the study of (resolution-like) semantics for logic languages, we aim for a semantics in the spirit of standard denotational semantics for the polymorphic lambda calculus. We claim and set out to prove that the presented semantics is adequate with respect to an existing operational semantics. A particularly interesting aspect, we think, is that we give the first denotational treatment of recursive let-bindings in combination with call-time choice.