~/talk

Relational Nullable Types with Boolean Unification

Talkat OOPSLA 2021 · 2021-10-17..10-22
links:none on file
slides:none on file

Proposes a concrete type system that records two Boolean formulas per expression to track may-null and may-present, extends Hindley‑Milner with Boolean unification, and adds a restricted pattern construct called choose (implemented as a Flix data type) so exhaustiveness becomes a type-level constraint. Shows Algorithm W–style inference and principal types, proves soundness, implements it in Flix, and finds the pattern in 108 GitHub projects where relational nullability is enforced at runtime today.

AI-written summary · about

  1. 0:00Start
  2. 1:36Preliminary Study (1/2)
  3. 3:18Motivating Example 1 (Revisited)
  4. 4:37Proposed Solution
  5. 9:13Type System
  6. 9:25A Bit of Intuition
  7. 10:49Flix Implementation
  8. 12:58Summary
~/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.