ICFP/SPLASH 2025
Sun 12 - Sat 18 October 2025 Singapore

This program is tentative and subject to change.

Fri 17 Oct 2025 15:00 - 15:30 at Peony SW - Keynote + Research paper

The Cardano blockchain is the first to use proof of stake, offers native support for multiple currencies and is evolving toward a distributed governance model. It supports smart contracts through Plutus, a language based on System F$_\omega$ with recursion. About half a dozen languages compile into Plutus, the first of which is \emph{Plinth} (formerly Plutus Tx) — a subset of Haskell in commercial use since 2021.

Our journey building Plinth has been unconventional in a number of ways. First, Plinth is a subset of Haskell rather than a traditional embedded DSL, which brings a number of advantages. Second, compilation is primarily handled by a GHC plugin, one of the most intricate we are aware of. Third, while some compiler optimizations mirror those in Haskell, others diverge significantly to meet on-chain execution constraints. Fourth, Plutus programs run on an instrumented CEK machine with a formal specification in Agda. This report reflects on our design choices, outlining effective practices, challenges, and key takeaways, with an emphasis on recent advances in the language, compiler, and runtime.

This program is tentative and subject to change.

Fri 17 Oct

Displayed time zone: Perth change

13:45 - 15:30
Keynote + Research paperHaskell at Peony SW
13:45
70m
Keynote
A Tale of Two Lambdas: A Haskeller's Journey into OCamlKeynote
Haskell
15:00
30m
Research paper
Plinth: A Plugin-Powered Language Built on Haskell (Experience Report)
Haskell
Ziyang Liu Input Output, USA, Kenneth MacKenzie Input Output, United Kingdom, Roman Kireev Input Output, United Kingdom, Michael Peyton Jones Input Output, United Kingdom, Philip Wadler University of Edinburgh, Manuel M. T. Chakravarty IOHK