~/talk

Bidirectional Typing for Erlang

Talkat Erlang 2021 · on Thursday, 2021-08-26· [typescript]

A bidirectional type system for Erlang is implemented as a prototype that subsumes Hindley‑Milner and supports union types and higher‑rank polymorphism, requiring only seven top‑level annotations to typecheck existing code and running on three standard library modules without rewriting user code. Type inference uses ordered contexts and application judgments from Dunfield and Krishnaswami style algorithms and achieves similar performance to the Erlang type checker. Current limits: subset of Erlang, no records, no concurrency or builtin subtyping yet.

AI-written summary · about

  1. 0:00Intro
  2. 0:11Outline
  3. 0:34Lack of Static Type System
  4. 1:25Previous Attempts for a Static Type System
  5. 4:34Dynamic Type Behaviours in Erlang
  6. 7:54Higher-Rank Polymorphism
  7. 10:24Examples for Bidirectional Typing Judgements
  8. 12:48Bidirectional Typing for Polymorphism
  9. 15:24Examples From OTP Libraries
  10. 16:06Limitations
  11. 16:21Future 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.