ICFP/SPLASH 2025
Sun 12 - Sat 18 October 2025 Singapore
Fri 17 Oct 2025 11:00 - 11:30 at Peony SW - Language design Chair(s): Gergő Érdi

In Haskell, type classes can act like functions from types to terms. However, unlike for functions, there is no way for the programmer to ask the compiler to verify that classes pattern-match exhaustively on their arguments, and their usage must always be marked by a constraint even when they are exhaustive.

This paper introduces the notion of \emph{total type classes} and, more generally, \emph{total constraints}, which allow the programmer to describe a set of instances whose existence can be verified by inspecting the instance declarations of the class, instead of on a case-by-case basis when a specific instance is demanded. To achieve this functionality, our implementation records the missing constraints during typechecking and then modifies the typechecked program, rewriting it as though the programmer had included the constraints.

Fri 17 Oct

Displayed time zone: Perth change

10:30 - 12:15
Language designHaskell at Peony SW
Chair(s): Gergő Érdi Standard Chartered Bank
10:30
30m
Research paper
Rebound: Efficient, expressive, and well-scoped binding
Haskell
Noé De Santo University of Pennsylvania, Stephanie Weirich University of Pennsylvania
Link to publication DOI Pre-print
11:00
30m
Research paper
Total Type Classes
Haskell
Robert Weingart Imperial College London, Nicolas Wu Imperial College London
11:30
20m
Talk
Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons and Insights
Haskell
11:50
20m
Talk
Haskell equations, thirty-eight years later
Haskell
Philip Wadler IOG; University of Edinburgh