~/talk

Liquid Haskell: Verification with Refinement Types

Talkat Lambda World 2024 · 2024-10-02..10-04· [compilers-and-language-design]
slides:none on file

Liquid Haskell is a GHC plugin that checks refinement types and lets Haskell programs carry SMT-checkable predicates; it proves safe indexing and non-division by zero, runs inside the build, and offers an automation called PLLE proof by logical evaluation to hide routine equational steps. The project proves real meta properties — a noninterference model needed 5.5k lines of proof — and a formal soundness development is about a 10k-line soundness proof while the implementation is ~400k LOC and sees ~five unsoundness reports per year.

AI-written summary · about

  1. 0:00Refinement types intro
  2. 1:52Liquid Haskell as GHC plugin
  3. 5:47Deep verification with proofs
  4. 15:55How refinement types work
  5. 19:25Refinement types expressiveness
  6. 24:42Domain-specific properties
  7. 25:05Generality across languages
  8. 27:12Soundness of refinement types
  9. 30:25Practicality vs. soundness
  10. 33:38Future vision
~/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.