Total Type Classes - Exhaustive Pattern Matching and Constraint Verification in Haskell
ACM SIGPLAN via YouTube
AI Engineer - Learn how to integrate AI into software applications
All Coursera Certificates 40% Off
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Watch this 31-minute conference presentation from Haskell 2025 that introduces the concept of total type classes and total constraints in Haskell programming. Learn how researchers Robert Weingart and Nicolas Wu from Imperial College London address a fundamental limitation in Haskell's type system where type classes can function like type-to-term mappings but lack compiler verification for exhaustive pattern matching on their arguments. Discover how total type classes enable programmers to describe instance sets whose existence can be verified by examining class instance declarations rather than requiring case-by-case verification when specific instances are needed. Explore the implementation approach that records missing constraints during typechecking and modifies the typechecked program by rewriting it as if the programmer had included the necessary constraints. Gain insights into advanced type system concepts including pattern matching on types, constraint handling, and compiler verification techniques that could enhance Haskell's expressiveness and safety guarantees.
Syllabus
[Haskell'25] Total Type Classes
Taught by
ACM SIGPLAN