@INPROCEEDINGS{AntoyHanusMasseySteiner01PPDP,
author = "Antoy, S. and Hanus, M. and Massey, B. and Steiner, F.",
title = "An Implementation of Narrowing Strategies",
year = "2001",
pages = "207-217",
publisher = "ACM Press",
booktitle = "Proc.\ of the 3rd International ACM SIGPLAN Conference on
             Principle and Practice of Declarative Programming (PPDP'01)"
abstract = {
This paper describes an implementation of narrowing,
an essential component of implementations of modern
functional logic languages. These
implementations rely on narrowing, in particular
on some optimal narrowing strategies,
to execute functional logic programs. We translate
functional logic programs into imperative (Java) programs without an
intermediate abstract machine. A central idea of our approach is the
explicit representation and processing
of narrowing computations as data objects.
This enables the implementation of operationally complete
strategies (i.e., without backtracking) or techniques
for search control (e.g., encapsulated search).
Thanks to the use of an intermediate and portable representation of programs,
our implementation is general enough to be used as a common back end for
a wide variety of functional logic languages.
}
}

