Deriving an Erlang Interpreter from a Mechanised Formal Semantics of Core Erlang
ACM SIGPLAN via YouTube
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore the development of an Erlang interpreter in Haskell derived from a mechanized formal semantics of Core Erlang in this 35-minute conference presentation from Erlang 2025. Learn how researchers from Eötvös Loránd University and the University of Kent extract Haskell code from Coq inductive definitions that define Core Erlang semantics, creating provably equivalent Gallina functions and optimizing the resulting interpreter. Discover the approach to handling the inherently non-deterministic nature of the semantics by introducing a scheduler component that makes the system deterministic. Examine the computation graph visualization that illustrates all non-deterministic choices arising during program execution. Gain insights into the formal verification process using Coq (Rocq) proof assistant and understand how formal semantics can be transformed into practical interpreters. Review the evaluation methodology and preliminary performance data that demonstrate the viability of this formally-based approach to interpreter construction. Access the accompanying research paper and explore the intersection of formal methods, functional programming, and concurrent systems design in the context of Erlang language implementation.
Syllabus
[Erlang'25] Deriving an Erlang Interpreter from a Mechanised Formal Semantics of Core Erlang
Taught by
ACM SIGPLAN