~/talk

Incremental Bidirectional Typing via Order Maintenance

Talkat OOPSLA 2025 · 2025-10-16..10-18· [developer-experience]
links:none on file
links:none on file
name:Ivan Wei
links:none on file
links:none on file
slides:none on file

Presents a small-step incremental bidirectional type system that maintains binding pointers with an order maintenance data structure so inserts/deletes and comparisons are amortized O(1) and ancestor checks reduce to interval comparisons; lowest-binder lookup is polylog by per-name balanced trees. Mechanized equivalence and metatheory via Agda mechanization. Provides an optimized OCaml implementation and a large stress test showing multiple orders-of-magnitude speedup versus from-scratch reanalysis; artifacts and reproductions available.

AI-written summary · about

  1. 0:00Introduction
  2. 1:50Live programming at scale
  3. 3:16Incremental type checking
  4. 4:41Formal guarantees
  5. 6:05Update order challenges
  6. 8:13Order maintenance structure
  7. 11:22Comparison with prior work
  8. 12:45Q&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.