ICFP 2024 (series) / Haskell 2024 (series) / Haskell 2024 /
Making a Curry Interpreter using Effects and Handlers
Despite the intended use for prototyping or as a first step towards giving semantics to a new programming language, interpreters are often monolithic and difficult to extend. Higher-order effects and handlers promise modular composition of handlers and semantics; in practice, however, they have been mostly applied to toy examples. We present an approach that successfully combines algebraic, scoped and latent effects into a handler pipeline for interpreting the functional logic programming language Curry. We show which effects make up Curry, discuss the infrastructure needed to combine effects of different classes and shed light on how these effects interact in order to lessen the barrier to entry for using effects in practical projects.
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 |