~/talk

Implementing Dependent Pattern Matching and Type Unification Part 2

Talkat ZuriHac 2026 · 2026-06-06..06-08· [haskell, compilers-and-language-design]
slides:none on file

A small dependently typed core is extended with telescopes, closures and a datatype registry that compiles clauses into case trees; an elaborator builds constraints per-argument and repeatedly splits on data constructors to produce nested cases. Equality is treated specially via type-directed unification that returns success, refutation or undecided; this lets the compiler validate forced and absurd patterns and prune impossible branches. The implementation type-checks examples like addition and vector append but can conservatively fail coverage checking when undecidable.

AI-written summary · about

  1. 0:00Data Types, Parameters, And Indices
  2. 8:10Encoding Indexed Types With Equality
  3. 10:18Telescopes And Type Checking
  4. 20:04Introduction To Dependent Pattern Matching
  5. 41:17From Pattern Matching To Case Trees
  6. 48:21Elaborating Clauses Into Case Trees
  7. 58:55Splitting On Data Constructors
  8. 1:10:23Dependent Pattern Matching And Unification
  9. 1:18:13Unification Rules And Equality Constraints
  10. 1:23:34Coverage Checking And Future Extensions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.