arXiv · 2407.11831
Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus
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.
Explore related subjects
Keep this discovery
Pedro Vasconcelos, Rodrigo Marques. 2024-07-16. Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus. https://doi.org/10.1145/3677999.3678274
Cite the original work for its findings. Save a collection to share your selection of sources.