Author:
ANTOY SERGIO,HANUS MICHAEL
Abstract
AbstractIn 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 functions. We discuss the basic concept and propose an implementation which exploits advanced features of functional logic languages.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. From Logic to Functional Logic Programs;Theory and Practice of Logic Programming;2022-07
2. From Non-determinism to Goroutines: A Fair Implementation of Curry in Go;23rd International Symposium on Principles and Practice of Declarative Programming;2021-09-06
3. Combining Static and Dynamic Contract Checking for Curry;Fundamenta Informaticae;2020-03-31
4. Verifying Fail-Free Declarative Programs;Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming;2018-09-03
5. Combining Static and Dynamic Contract Checking for Curry;Logic-Based Program Synthesis and Transformation;2018