Summary: 6th Int'l Conf. on Algebraic and Logic Programming (ALP'97),
Southampton, UK, Sept. 1997, Springer LNCS Vol. 1298, pages 16-30.
Functional Logic Computations
Portland State University
Abstract. We show that non-determinism simplifies coding certain prob-
lems into programs. We define a non-confluent, but well-behaved class of
rewrite systems for supporting non-deterministic computations in functional
logic programming. We show the benefits of using this class on a few examples.
We define a narrowing strategy for this class of systems and prove that our
strategy is sound, complete, and optimal, modulo non-deterministic choices,
for appropriate definitions of these concepts. We compare our strategy with
related work and show that our overall approach is fully compatible with the
current proposal of a universal, broad-based functional logic language.
Curry , a recently proposed, general-purpose, broad-based functional logic lan-
guage, offers lazy evaluation, higher order functions, non-deterministic choices, and a
unified computation model which integrates narrowing and residuation. Curry models
functions by the defined operations of a constructor-based, almost orthogonal, term