
TL;DR
This paper introduces a new concept of default rules for Curry, a functional logic language, enabling a functional programming style while maintaining core properties like non-determinism and completeness.
Contribution
It proposes a novel approach to default rules in Curry that supports functional programming style without losing essential functional logic features.
Findings
Supports a programming style similar to functional programming
Preserves non-determinism and completeness in Curry
Provides an implementation exploiting advanced features of functional logic languages
Abstract
In functional logic programs, rules are applicable independently of textual order, i.e., any rule can potentially be used to evaluate an expression. This is similar to logic languages and contrary to functional languages, e.g., Haskell enforces a strict sequential interpretation of rules. However, in some situations it is convenient to express alternatives by means of compact default rules. Although default rules are often used in functional programs, the non-deterministic nature of functional logic programs does not allow to directly transfer this concept from functional to functional logic languages in a meaningful way. In this paper we propose a new concept of default rules for Curry that supports a programming style similar to functional programming while preserving the core properties of functional logic programming, i.e., completeness, non-determinism, and logic-oriented use of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
