| | |
Summary: Operational Semantics for Lazy Functional
Logic Programs ?
Elvira Albert 1 Michael Hanus 2 Frank Huch 2
Javier Oliver 1 German Vidal 1
1 DSIC, UPV, Camino de Vera s/n, E-46022 Valencia, Spain
fealbert,fjoliver,gvidalg@dsic.upv.es
2 Institut fur Informatik, CAU Kiel, Olshausenstr. 40, D-24098 Kiel, Germany
fmh,fhug@informatik.uni-kiel.de
Abstract
In this paper we dene an operational semantics for lazy functional logic programs
including notions like sharing, concurrency, non-determinism, etc. Such a seman-
tic description is not only important to provide appropriate language denitions
to reason about programs and check the correctness of implementations but it is
also a basis to develop language-specic tools, like program tracers, prolers, op-
timizers, etc. First, we consider a \big-step" semantics in natural style to relate
expressions and their evaluated results. Since this semantics is not suÆcient to
cover concurrency, search strategies, or to reason about costs associated to par-
ticular computations, we dene a \small-step" operational semantics covering the
features of modern functional logic languages.
1 Introduction
|