Incremental Rewriting in Narrowing Derivations

by Michael Hanus

Proc. of the 3rd International Conference on Algebraic and Logic Programming (ALP'92), Springer LNCS 632, pp. 228-243, 1992
© Springer-Verlag

The operational semantics of many proposals for the integration of functional and logic programming languages is based on narrowing. In order to reduce the search space and to prefer deterministic computations, the goal is rewritten to normal form between narrowing steps (normalizing narrowing). This rewriting process may be costly since the entire goal must be reduced to normal form after each narrowing step. We propose a useful optimization of the rewriting process: since the goal is in normal form before the narrowing step is applied and the narrowing step changes only small parts of the goal, rewriting can be restricted to a small number of positions in the narrowed goal in order to compute a new normal form. This optimization can speed up the execution mechanism of programming languages based on normalizing narrowing like SLOG or ALF.

DVI (68 KB) Postscript (206 KB) BibTeX-Entry