~/talk

Polymorphic Type Inference for Dynamic Languages

Talkat POPL 2024 · 2024-01-14..01-20· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Claims a type system that combines first‑order polymorphism with intersection, union and semantic subtyping and proves safety; it gives unannotated functions Hindley‑Milner polymorphic yet overloaded types and supplies a sound and terminating reconstruction algorithm that nevertheless requires annotation hints and uses tallying and backtracking to solve subtype constraints. Implementation in OCaml is available as an online demo and artifact archive; the algorithm applies union‑elimination exactly once per distinct subexpression via maximal‑sharing canonical form, but subtyping can be exponential and inference can blow up without user annotations.

AI-written summary · about

  1. 0:00Polymorphic type inference intro
  2. 1:27Set-theoretic types for dynamic langs
  3. 3:56Declarative type system building
  4. 7:29Intersection and union type rules
  5. 9:14Expression transformation for typing
  6. 10:37Annotation inference with tallying
  7. 13:03Implemented system summary
  8. 14:23Q&A
~/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.