~/talk

Intensional Datatype Refinement

Talkat POPL 2021 · 2021-01-17..01-22
links:none on file
links:none on file
slides:none on file

A refinement type system verifies that pattern-match failures cannot occur by adding finitely many constructor-subset refinements and solving set constraints; inference is fully automatic, linear-time under reasonable size and interface bounds, and implemented as a ghc plugin that analyzes real Haskell code from Hackage packages in milliseconds. The method enforces an intentionality restriction on recursive constructors, saturates and restricts constraints to interface variables, and produces sound, compositional, polyvariant typings that catch real bugs.

AI-written summary · about

  1. 0:00Intro
  2. 0:17The Pattern Match Safety Problem
  3. 3:32Intensional Refinements
  4. 4:57Scalable Verification
  5. 6:35Refinement Types
  6. 11:21Set Constraints
  7. 14:45Interface
  8. 15:21Worst Case Complexity
  9. 16:53What went wrong?
  10. 18:55A Guess-Free Solution
  11. 22:28Constraint Normalisation
  12. 23:21Saturation
  13. 25:13Restriction
  14. 25:59Extension
  15. 26:56Complexity Revisited
  16. 28:11Future Work
~/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.