Summary: Narrowing the Narrowing Space ?
Sergio Antoy 1 and Zena M. Ariola 2
1 Portland State University
2 University of Oregon
Abstract. We introduce a framework for managing as a whole the space
of a narrowing computation. The aim of our framework is to find a
finite representation of an infinite narrowing space. This, in turn, al
lows us to replace an infinite enumeration of computed answers with an
equivalent finite representation. We provide a semidecidable condition for
this result. Our framework is intended to be used by implementations
of functional logic programming languages. Our approach borrows from
the memoization technique used in the implementation of functional lan
guages. Since narrowing adds nondeterminism and unifiers to functional
evaluation, we develop a new approach based on graphs to memoize the
outcome of a goal.
Keywords Functional logic programming, Narrowing, Narrowing space, Com
puted expression, Regular computed expression, Finite representation.
A fundamental problem in the integration of functional and logic programming
is how to deal with the fact that the execution of a program may lead to the