A Semantics for Program Analysis in Narrowing-Based Functional Logic
M. Hanus, S. Lucas
We introduce a denotational characterization of narrowing, the computational
engine of many functional logic languages. We use a functional
domain for giving
a denotation to the narrowing space associated to a
given initial expression under an arbitrary narrowing strategy.
Such a semantic description highlights (and favours) the operational notion
of evaluation instead of the more usual model-theoretic notion of
interpretation as the basis for the semantic description. The
motivation is to obtain an abstract semantics which encodes information about
the real operational framework used by a given (narrowing-based) functional logic language.
Our aim is to provide a general, suitable, and accurate framework
for the analysis of functional logic programs.
Domain theory, Functional logic languages, Narrowing, Program