~/talk

Getting into the Flow: Towards Better Type Error Messages for Constraint-Based ...

Talkat OOPSLA 2023 · 2023-10-23..10-27· [developer-experience]

Proposes turning constraint-generation into explicit data flows by attaching provenances (sequences of source locations) to algebraic subtyping constraints, then running a second unification pass to detect conflicts and render error traces; implements the idea as hmlloc/hmloc (code and artifacts available) and supports products, functions, records and let-polymorphism. Categorizes errors by complexity (e.g. level-one vs level-two errors), compares against OCamL and Helium with 120 participants (one participant per system) and finds no quantitative win but positive qualitative feedback and clear directions for refinement.

AI-written summary · about

  1. 0:00Better type error messages
  2. 1:17Type error limitations
  3. 2:20Data flow error messages
  4. 3:47Project goals and error types
  5. 5:10Algebraic subtyping insight
  6. 6:36Typing rules and constraints
  7. 9:03Unification pass and errors
  8. 10:29User study results
  9. 12:41Recommendations and future work
  10. 13:43Related work
  11. 14:24Accomplishments and questions
  12. 14:52Q&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.