An Operational Semantics for Functional Logic Languages

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