  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 functions. We discuss
the basic concept and propose an implementation which exploits advanced
features of functional logic languages.
