~/talk

Incremental Bidirectional Typing via Order Maintenance

Talkat WITS 2025 · on Saturday, 2025-01-25· [developer-experience, frontend-architecture]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Presents an incremental algorithm that maintains total bidirectional typing for a gradually typed language via small-step update propagation that lets edits and type-update waves interleave without locking. It maintains binder-to-variable pointers using order maintenance data structures to answer ancestry and find lowest binders quickly. The algorithm is implemented in Incremental Hazelnut, proved equivalent in Agda, and evaluated on real user edit traces and synthetic workloads, claiming update-time savings versus full reanalysis.

AI-written summary · about

  1. 0:00Incremental bidirectional typing
  2. 1:09Introduction
  3. 2:11Live programming goals
  4. 4:18Structural AST edits
  5. 5:22Collaborative editing model
  6. 6:24Live massive collaboration
  7. 7:26Marked lambda calculus
  8. 9:57Incremental type checking
  9. 12:00Update propagation demo
  10. 17:20Binder pointers maintenance
  11. 18:45Order maintenance for ancestry
  12. 20:52Interval maintenance in edits
  13. 22:36Summary and open questions
  14. 22:56Open questions on type checking
  15. 26:20Q&A on variable insertion
  16. 28:12Audience question on large type modifications
  17. 29:57Q&A on error recovery
  18. 30:40Order maintenance relation
  19. 31:43Vision of Wikipedia-sized programs
~/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.