Title :
Lazy evaluation in logic programming
Author_Institution :
Rand Corp., Santa Monica, CA, USA
Abstract :
A method for bringing the concept of lazy evaluation to logic programming in a rigorous yet efficient manner is presented. Its main advantage over previous methods is its considerable efficiency, from both the theoretical and implementation points of view. It is based on making the SLD-resolution rule of inference directly simulate the behavior of a lazy rewriting interpreter satisfying strong computational properties. It thereby yields a powerful system in which one can program with functions, relations, non-determinism, lazy evaluation, and combinations of these all within a single logical framework. The method can also be viewed as contributing to the design and implementation of lazy rewriting. It introduces lazy, nondeterministic rewriting. It proposes a new method of shrinking the search space of reductions to a single branch. It allows a very simple, yet efficient, implementation in Prolog, so programming of many low-level tasks involved in usual implementations of lazy rewriting is avoided altogether
Keywords :
logic programming; rewriting systems; Prolog; SLD-resolution rule of inference; lazy evaluation; lazy rewriting interpreter; logic programming; nondeterministic rewriting; Art; Calculus; Computational modeling; Computer languages; Fourier series; Functional programming; Graphics; Logic programming; Performance evaluation; Tail;
Conference_Titel :
Computer Languages, 1990., International Conference on
Conference_Location :
New Orleans, LA
Print_ISBN :
0-8186-2036-6
DOI :
10.1109/ICCL.1990.63777