Deriving an Erlang Interpreter from a Mechanised Formal Semantics of Core Erlang
We present an interpreter for Erlang in Haskell, derived from a formal semantics for Core Erlang mechanised in Coq. The interpreter function is derived from the Coq inductive definitions that make up the semantics by extracting Haskell code from Gallina functions provably equivalent to the inductive definitions, and optimising the result. The semantics is inherently non-deterministic, and it is made deterministic by introducing a scheduler component; we also present a computation graph that shows all the non-deterministic choices that arise during computation. The paper concludes with an evaluation of the work and preliminary performance data.
Institutions
- Eötvös Loránd University (HU)
- University of Kent (GB)
Publication Details
- Published
- 2025-10-09
- DOI
- https://doi.org/10.1145/3759161.3763046
- Primary Topic
- Eating Disorders and Behaviors
- Type
- article
- Field-Weighted Citation Impact
- 0.00