~/talk

Polymorphic Types and Effects with Boolean Unification

Talkat OOPSLA 2020 · 2020-11-15..11-20· [compilers-and-language-design]
links:none on file
slides:none on file

Extends Hindley-Milner with Boolean unification to infer precise pure/impure effects, proven to compute principal types and soundly guarantee that terms typed pure produce no effects. Implementation in the Flix compiler handles ~30k lines and ~1k standard-library functions; Boolean unification is NP-hard but empirical results show about 1.4x type-inference overhead and roughly 1.1x end-to-end compilation slowdown. Examples include map/compose constraints that enforce at-most-one-impure argument and use MGUs modulo Boolean equivalence to solve effect constraints.

AI-written summary · about

  1. 0:00Start
  2. 1:33Type and Effect System To Rule Out Nonsensical Programs
  3. 2:26Signature for Map
  4. 2:51Forward Function Composition
  5. 3:17Haskell
  6. 6:18Extend Unification to Boolean Unification
  7. 8:15Rule for Function Abstraction
  8. 10:11Principle Type Inference
  9. 13:25The Performance Cost of Effect Inference
  10. 14:19Performance Impact on End-to-End Compilation Time
  11. 15:24Summary
~/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.