Combining Lazy Narrowing and Simplification

by Michael Hanus

6th International Symposium on Programming Language Implementation and Logic Programming (PLILP'94), Springer LNCS 844, pp. 370-384, 1994
© Springer-Verlag

Languages that integrate functional and logic programming styles with a complete operational semantics are based on narrowing. In order to avoid useless computations and to deal with infinite data structures, lazy narrowing strategies have been proposed in the past. This paper presents an important 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 show that the completeness of lazy narrowing is not destroyed by the simplification process and demonstrate the improved operational behavior by means of several examples.

Preprint (PDF) BibTeX-Entry Online