ICFP 2024 (series) / Haskell 2024 (series) / Haskell 2024 /
Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus
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 was used in the implementation of a step-by-step educational interpreter. We also discuss some implementation decisions and present illustrative examples.
Fri 6 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Fri 6 Sep
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | |||
11:00 30mTalk | Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus Haskell | ||
11:30 30mTalk | Liquid Amortization - Proving amortized complexity with LiquidHaskell (Functional Pearl) Haskell Jan van Brügge Heriot-Watt University | ||
12:00 30mTalk | Making a Curry Interpreter using Effects and Handlers Haskell |