ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Fri 6 Sep 2024 11:00 - 11:30 at Orange 3 - Haskell 1 Chair(s): Niki Vazou

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 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Haskell 1Haskell at Orange 3
Chair(s): Niki Vazou IMDEA Software Institute
11:00
30m
Talk
Haskelite: A Tracing Interpreter Based on a Pattern-Matching Calculus
Haskell
Pedro Vasconcelos University of Porto, Rodrigo Marques Universidade do Porto
11:30
30m
Talk
Liquid Amortization - Proving amortized complexity with LiquidHaskell (Functional Pearl)
Haskell
Jan van Brügge Heriot-Watt University
12:00
30m
Talk
Making a Curry Interpreter using Effects and Handlers
Haskell
Niels Bunkenburg University of Kiel, Germany, Nicolas Wu Imperial College London