Elvira Albert, Michael Hanus, Frank Huch, Javier Oliver, and Germán Vidal
Electronic Notes in Theoretical Computer Science
(Selected papers from WFLP 2003), Vol. 86, No. 3
, Also available from
http://www.elsevier.nl/locate/entcs/volume86.html, 2003
In this work we provide a semantic description of functional logic languages covering notions like laziness, sharing, and non-determinism. Such a semantic description is essential, for instance, to have appropriate language definitions in order to reason about programs and check the correctness of implementations. First, we define a "big-step" semantics in natural style to relate expressions and their evaluated results. Since this semantics is not sufficient to reason about the operational aspects of programs, we also define a "small-step" operational semantics covering the main features of functional logic languages. Finally, we demonstrate the equivalence of the "small-step" semantics and the natural semantics.
BibTeX-Entry, Paper