@ARTICLE{Hanus97JCL,
author = "Hanus, M.",
title = "Lazy Narrowing with Simplification",
year = "1997",
journal = "Computer Languages",
volume = "23",
number = "2--4",
pages = "61--85",
abstract = {
Languages that integrate functional and logic programming styles with
a complete operational semantics are based on narrowing. In order to
avoid useless computations, lazy narrowing strategies have been
proposed in the past. This paper presents an improvement of
lazy narrowing by incorporating deterministic simplification steps
into lazy narrowing derivations. These simplification steps reduce the
search space so that in some cases infinite search spaces are reduced
to finite ones. We consider two classes of programs where
this strategy can be applied. Firstly, we show soundness and
completeness of our strategy for functional logic programs based on
ground confluent and terminating rewrite systems. Then, we show
similar results for constructor-based weakly orthogonal (not
necessarily terminating) rewrite systems. Finally, we demonstrate the
improved operational behavior by means of several examples. Since
most functional logic languages are based on programs
belonging to one of these classes, our
result is a significant step to improve the operational semantics of
existing functional logic languages.
} }

