~/talk

Live Pattern Matching with Typed Holes

Talkat OOPSLA 2023 · 2023-10-23..10-27· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Supports exhaustiveness and redundancy checking for patterns that contain holes, maps those checks to first-order constraint entailments, and proves decidable procedures mechanized in Agda; implements the ideas in Hazel so the editor evaluates around expression and pattern holes and flags only necessarily inexhaustive cases while allowing possibly exhaustive ones. Introduces the Peanut core calculus for pattern matching with holes, gives an operational semantics for live evaluation, and scales to a usable Hazel implementation.

AI-written summary · about

  1. 0:00Introduction
  2. 1:11Structural pattern matching in Hazel
  3. 4:03Holes during editing
  4. 7:12Dynamic semantics of pattern matching
  5. 8:57Peanut calculus semantics
  6. 10:00Exhaustiveness and redundancy checks
  7. 13:09Constraint entailment with unknowns
  8. 15:15Entailment checks via inconsistency
  9. 16:17Meta-theory and implementation
  10. 17:21Q&A
~/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.