Haskell 2025
as the organisers put it
Welcome to the 18th ACM SIGPLAN International Symposium on Haskell The Haskell Symposium presents original research on Haskell, discusses practical experience and future development of the language, and promotes other forms of declarative programming. New this year In addition to the regular Call for Papers track, we are pleased to announce a separate Call for Talks track.
who it's for
Haskell researchers, GHC developers, language designers, compiler engineers, functional programmers, embedded systems engineers, blockchain smart contract developers, formal methods engineers
topics
top-down deriving engine; Template Haskell generators; fold-based type checker derivation; Agda formalization of typing; Credit monad amortized testing; staging reverse-mode automatic differentiation; monadic sharing and let insertion; typedKanren statically typed relational programming; GHC plugin Plinth compilation; join points in GHC Core; Clash Haskell-to-FPGA compilation; automatic C bindings generation
| title | author | length |
|---|---|---|
| Derive class instances topdown and derive ttg automatically | Song Zhang | 24m |
Introduces a top‑down deriving engine that generates multiple related class instances (handles nested/composite types and classes with many superclasses) and a… | ||
| The Calculated Typer (Functional Pearl) | Zac Garby, Patrick Bahr, Graham Hutton | 46m |
Derives type checkers mechanically from a behavioural semantics by solving an inequality spec with equational, fold-based calculation and fold fusion to turn… | ||
| Chair's report | Ningning Xie, J. Garrett Morris | 09m |
Program committee reports 19 submissions across categories: 12 regular papers, 4 functional pearls, 1 experiment report and 2 demos, with each paper getting at… | ||
| Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad | Anton Lorenzen | 28m |
Defines a small DSL that models laziness with explicit delay/force, counts steps with a tick and runs property tests via QuickCheck to check persistent… | ||
| Staging Automatic Differentiation with Fusion | Samuel Klumpers, Tom Schrijvers | 29m |
Claims a compiler for reverse‑mode AD that is correct by construction and yields concrete speedups up to 110x speedup over an earlier interpreter approach… | ||
| typedKanren: Statically Typed Relational Programming with Exhaustive Matching in(…) | Nikolai Kudasov, Artem Starikov | 26m |
typedKanren is a statically typed embedding of a miniKanren dialect in Haskell that implements disequality constraints, GHC.Generics-derived Logical instances… | ||
| Plinth: A Plugin-Powered Language Built on Haskell (Experience Report) | Ziyang Liu, Kenneth MacKenzie, Roman Kireev, Michael Peyton Jones, Philip Wadler, Manuel Chakravarty | 29m |
Plinth is a production DSL that reuses a subset of Haskell syntax, compiles via a GHC plugin into PIR → typed Plutus Core (System Fω with iso-recursive types)… | ||
| Join points in practice | Simon Peyton Jones | 01h 11m |
Join points are a small extension to GHC Core (tagging some let-binders) that the compiler infers with the Occurrence Analyser and treats specially in the… | ||
| Welcome | Ningning Xie, J. Garrett Morris | 01m |
Session frames types and monads as the historical themes and contrasts free monads and freer monads with a concrete claim: monadic structure resists static… | ||
| Total Type Classes | Robert Weingart, Nicolas Wu | 31m |
Identifies a pattern where type classes over data kinds are provably total and implements a GHC plugin that (1) verifies totality by doing exhaustiveness… | ||
| A Clash Course in Solving Sudoku (Functional Pearl) | Gergő Érdi | 38m |
Builds an FPGA Sudoku solver by compiling Haskell with Clash Haskell-to-FPGA from a Bird 2006 functional pearl, translating a backtracking solver into… | ||
| A Tale of Two Lambdas: A Haskeller's Journey into OCaml | Richard A. Eisenberg | 01h 18m |
Compares concrete tradeoffs: Haskell keeps purity and a heavy optimizer while OCaml favors mutation and predictable performance; Jane Street runs roughly 80… | ||
| Haskell equations, thirty-eight years later | Philip Wadler | 27m |
Proposal introduces a compact syntax that makes equation groups unordered unless annotated with a trailing otherwise keyword, so order only matters when… | ||
| Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons and Insights | Justin Le | 20m |
Since 2021 Haskell runs as the orchestration layer across Linux boxes, coordinating sensors, FPGAs, CUDA kernels and C FFI components; teams report zero-copy… | ||
| Automatic C bindings generation for Haskell | Travis Cardwell, Sam Derbyshire, Edsko de Vries, Dominik Schrempf | 32m |
hs-bindgen automatically generates GHC Haskell FFI bindings from C header files using libclang to get sizes offsets and AST details and emitting C wrapper… | ||
| Rebound: Efficient, expressive, and well-scoped binding | Noé De Santo, Stephanie Weirich | 29m |
Rebound provides well-scoped Haskell term representations using first-class environments that map variables into a fresh scope and statically track scope… | ||
| Freer Arrows and Why You Need Them in Haskell | Grant VanDomelen, Gan Shen, Lindsey Kuper, Yao Li | 32m |
Proposes freer arrows as a Haskell data structure (plus two variants: freer pre-arrow and freer choice arrow) that yields an Arrow instance and admits simple… | ||
| Machine Learning Primitives as Algebraic Effects | Justin Le | 17m |
Claims that Haskell encodes ML stages and primitives as composable effects, so automatic differentiation as an algebraic effect and parameter initialization… | ||
| nothing matches | ||