~/talk

Existentialize your Generics

Talkat MPLR 2025 · on Tuesday, 2025-10-14· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Claims that existentialization factors method tables out of object headers to give dynamic dispatch without boxing, implemented via type-class-style witnesses and any shape / existential containers in Scala/Swift/C++. Paper provides a compiler transformation, a runtime witness layout, and microbenchmarks showing overheads comparable to monomorphization in C++/Swift and similar performance on HotSpot. Also describes partial existentialization to tune the monomorphization/erasure trade-off and how witnesses carry size/layout info for allocation and reflection.

AI-written summary · about

  1. 0:00Generics introduction
  2. 1:05Traditional generic approaches
  3. 3:55Memory trade-offs in generics
  4. 7:24Type classes vs subtyping
  5. 10:52Type classes dispatch
  6. 13:19Existentialization for generics
  7. 16:11Sequences with type classes
  8. 20:47Partial existentialization trade-offs
  9. 22:10Existentialization benefits
  10. 23:15Performance and conclusion
~/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.