~/talk

The Simple Essence of Overloading: Making ad-hoc polymorphism more algebraic with(…)

Talkat OOPSLA 2025 · 2025-10-16..10-18· [compilers-and-language-design]

Claims that overloads are representable as explicit choices so constraint collection, solving, and resolution stay separate, using a flow-based variational framework that produces a variational constraint graph annotated with invalid worlds. Implements a solver via BDDs, counts assignments and finds the unique valid world, and ships a Rust prototype with artifacts. Compares to Swift: handles return-type overloading cases where Swift times out and scales well on artificial benchmarks, demonstrating practical modular overload resolution.

AI-written summary · about

  1. 0:00Overloading introduction
  2. 1:04Backtracking overload resolution
  3. 2:29Backtracking problems in type checkers
  4. 3:12Modular overload resolution desire
  5. 3:32Overloads with type variables
  6. 6:44Variational graphs for overloads
  7. 7:46Valid worlds for overloads
  8. 8:27Swift performance comparisons
  9. 9:30Summary of overloading
  10. 9:50Q&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.