To the top

Page Manager: Webmaster
Last update: 9/11/2012 3:13 PM

Tell a friend about this page
Print version

Operational Semantics Usi… - University of Gothenburg, Sweden Till startsida
To content Read more about how we use cookies on

Operational Semantics Using the Partiality Monad

Journal article
Authors Nils Anders Danielsson
Published in SIGPLAN notices
Volume 47
Issue 9
Pages 127-138
ISSN 0362-1340
Publication year 2012
Published at Department of Computer Science and Engineering (GU)
Pages 127-138
Language en
Keywords Dependent types, mixed induction and coinduction, partiality monad, coinduction, compiler, step
Subject categories Computer and Information Science


The operational semantics of a partial, functional language is often given as a relation rather than as a function. The latter approach is arguably more natural: if the language is functional, why not take advantage of this when defining the semantics? One can immediately see that a functional semantics is deterministic and, in a constructive setting, computable. This paper shows how one can use the coinductive partiality monad to define big-step or small-step operational semantics for lambda-calculi and virtual machines as total, computable functions (total definitional interpreters). To demonstrate that the resulting semantics are useful type soundness and compiler correctness results are also proved. The results have been implemented and checked using Agda, a dependently typed programming language and proof assistant.

Page Manager: Webmaster|Last update: 9/11/2012

The University of Gothenburg uses cookies to provide you with the best possible user experience. By continuing on this website, you approve of our use of cookies.  What are cookies?