In S. Breitinger, H. Kröger, and R. Loogen, editors,
*Proceedings of the 5th International Workshop on Functional and
Logic Programming*, University of Marburg, 1996.

**Abstract**

The programming language Escher introduced a rewriting computational model
for functional logic languages. In this model, computation is regarded as the
application of successive rewrite steps to a goal expression until the
expression reaches a normal form. This is in contrast to the common
operational basis of logic programming, namely the depth-first traversal of a
search tree, which is usually adopted for functional logic languages also;
Escher's model is more in spirit of the functional programming tradition of
rewriting an expression with respect to a set of equations.

This paper relates the ideas of rewriting and of traversing a search tree as well as it introduces a new approach to the implementation of the rewriting computational model; this approach is inspired by the work on the implementation of or-parallelism and, especially, from the AKL-model of computation. The new implementation technique is substantially different from that used in AKL for two principal reasons: (i) it makes fundamental use of multi-threading, and (ii) the implemented language subsumes higher-order, lazy functional languages and is based on equational instead of clausal abstraction.

DVI version and PostScript version (16 pages)

This page is part of Manuel Chakravarty's WWW-stuff.