| | |
Summary: Evaluation Strategies
for
Functional Logic Programming
Sergio Antoy 1
Computer Science Department, Portland State University
P.O. Box 751, Portland, OR 97207, USA
Abstract
Recent advances in the foundations and the implementations of functional logic
programming languages originate from farreaching results on narrowing evaluation
strategies. Narrowing is a computation similar to rewriting which yields substitu
tions in addition to normal forms. In functional logic programming, the classes of
rewrite systems to which narrowing is applied are, for the most part, subclasses
of the constructorbased, possibly conditional, rewrite systems. Many interesting
narrowing strategies, particularly for the smallest subclasses of the constructor
based rewrite systems, are generalizations of wellknown rewrite strategies. How
ever, some strategies for larger nonconfluents subclasses have been developed just
for functional logic computations. This paper discusses the elements that play a
relevant role in evaluation strategies for functional logic computations, describes
some important classes of rewrite systems that model functional logic programs,
shows examples of the di#erences in expressiveness provided by these classes, and
|