~/talk

Revisiting pattern match overlap checks in Haskell

Talkat Code Mesh LDN 2019 · 2019-11-07..11-08· [haskell]
slides:none on file

GHC pattern-match coverage and overlap checks get refactored by desugaring complex patterns into a linear sequence of simple guards and building a fact base (Delta) of refinements that represents sets of values. The compiler computes which values fall through each clause, emits concrete counterexample values, and handles GADTs, pattern guards, strict constructors and pattern synonyms. The previous algorithm is slow and can be exponential so the implementation uses throttling, and the new modular refactor is implemented in GHC and improves correctness and performance.

AI-written summary · about

  1. 0:00Start
  2. 0:58Datatype Declarations
  3. 4:26Laziness
  4. 12:32Strict Patterns
  5. 16:36Pattern Guards
  6. 17:34Long Distance Information
  7. 35:25Refinement Types
  8. 43:43Coffee Break
~/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.