~/talk

Compilers are Databases

slides:none on file

A new compiler backend called Dotty rethinks Scala compilation as a time‑indexed, functional database: every value (signatures, denotations) is keyed by runID/phaseID so edits and phase transforms become versioned queries. Core data types are immutable trees (typed vs untyped), persistent name‑references, denotations and symbols; denotations vary by period. Performance relies on aggressive caching (validity intervals, LRU cache of ~8 member entries), automatic fusion of many micro‑phases into ~5 groups, and intends to beat current scalac (~500–700 LOC/s; pathological shapeless queries can take minutes).

AI-written summary · about

  1. 0:00Intro
  2. 1:30What is a compiler
  3. 7:44Challenges
  4. 15:56Latency
  5. 16:49Reusability
  6. 20:07Reactive Programming
  7. 22:52Core Data Types
  8. 26:08Type Trees
  9. 30:29Types
  10. 31:00References
  11. 32:06Type
  12. 32:38Reference
  13. 33:32Overload
  14. 34:26Imutable References
  15. 36:13Union Types
  16. 37:31Symbols
  17. 40:31Entity Relationships
  18. 42:34Lessons Learned
  19. 43:44Dotty
  20. 44:28Symbol
  21. 48:22Fusion Faces
  22. 51:09View Management
  23. 54:47Run ID
  24. 55:21Persistence
  25. 55:54Parallelization
  26. 57:11Preconditions
~/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.