by Elvira Albert, Michael Hanus, Frank Huch, Javier Oliver, Germán Vidal
Electronic Notes in Theoretical Computer Science (Selected papers from WFLP 2002), Vol. 76, Also available fromhttp://www.elsevier.nl/locate/entcs/volume76.html, 2002
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.
Preprint (PDF) BibTeX-Entry Online