Loading...
Please wait, while we are loading the content...
Similar Documents
Operational semantics using the partiality monad (2012)
| Content Provider | CiteSeerX |
|---|---|
| Author | Danielsson, Nils Anders |
| Description | 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. |
| File Format | |
| Language | English |
| Publisher Date | 2012-01-01 |
| Publisher Institution | In: International Conference on Functional Programming 2012, ACM Press |
| Access Restriction | Open |
| Subject Keyword | Latter Approach Constructive Setting Coinductive Partiality Monad Functional Language Proof Assistant Computable Function Partiality Monad Functional Semantics Compiler Correctness Result Operational Semantics Useful Type Soundness Total Definitional Interpreter Small-step Operational Semantics Virtual Machine |
| Content Type | Text |
| Resource Type | Article |