An Operational Semantics for Declarative Multi-Paradigm Languages

by Elvira Albert, Michael Hanus, Frank Huch, Javier Oliver, Germán Vidal

Electronic Notes in Theoretical Computer Science (Selected papers from WRS 2002), Vol. 70(6), Also available from, 2002

Practical declarative multi-paradigm languages combine the main features of functional, logic and concurrent programming (e.g., laziness, sharing, higher-order, logic variables, non-determinism, search strategies). Usually, these languages also include interfaces to external functions as well as to constraint solvers. In this work, we introduce the first formal description of an operational semantics for realistic multi-paradigm languages covering all the aforementioned features in a precise and understandable manner. We also provide a deterministic version of the operational semantics which models search strategies explicitly. This deterministic semantics becomes essential to develop language-specific tools like program tracers, profilers, optimizers, etc. Finally, we extend the deterministic semantics in order to model concurrent computations. An implementation of the complete operational semantics has been undertaken.

PDF (278 KB) BibTeX-Entry