Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus
Pedro Vasconcelos, Rodrigo Marques

TL;DR
This paper introduces Haskelite, a tracing interpreter for a subset of Haskell, based on pattern matching calculus, enabling step-by-step evaluation visualization for educational purposes.
Contribution
It develops a novel tracing interpreter for Haskell using pattern matching calculus, bridging big-step and small-step semantics for educational tools.
Findings
Provides a step-by-step tracing interpreter for Haskell subset
Demonstrates the interpreter with illustrative examples
Discusses implementation decisions and semantics
Abstract
Many Haskell textbooks explain the evaluation of pure functional programs as a process of stepwise rewriting using equations. However, usual implementation techniques perform program transformations that make producing the corresponding tracing evaluations difficult. This paper presents a tracing interpreter for a subset of Haskell based on the pattern matching calculus of Kahl. We start from a big-step semantics in the style of Launchbury and develop a small-step semantics in the style of Sestoft's machines. This machine is used in the implementation of a step-by-step educational interpreter. We also discuss some implementation decisions and present illustrative examples.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
