~/talk

From DOT to Dotty

Talkat Voxxed Days CERN 2017 · on Saturday, 2017-02-25· [compilers-and-language-design, scala]
slides:none on file

A formal, minimal calculus called DOT (Dependent Object Types) serves as the blueprint for Scala’s next core and exposes the real tradeoffs: proving type soundness takes years of work and forces language changes (no unchecked type selections from lazy vals, restrictions on null and initialization). A new prototype Dotty compiler implements DOT, already encoding generics as type members and spotting 2,641 implicit-context sites; a proposed implicit function types feature replaces repeated implicit parameters, is optimizable to zero runtime overhead, and supports contextual DSLs like builders and transactional scopes.

AI-written summary · about

  1. 0:00Intro
  2. 0:57Background
  3. 2:13One Step Back
  4. 4:59Why Do Foundations Matter?
  5. 5:33Why Not Pick Existing Foundations?
  6. 6:37Our Aim
  7. 8:23Dependent Types in Code
  8. 10:38Foundations: DOT
  9. 11:11DOT Types
  10. 15:41DOT Syntax in Greek
  11. 19:22Definition Type Assignment
  12. 20:15Expressiveness
  13. 21:31Meta Theory
  14. 22:44Programmer Definable Theorems
  15. 23:26Bad Bounds
  16. 25:10Dealing with it
  17. 25:58For Details
  18. 26:13Consequences for Language Design
  19. 26:43Things To Avoid
  20. 31:08What Are Implicit Function Types?
  21. 31:22Contextual
  22. 32:03Implicit Parameters
  23. 32:58Example: Transaction Handling
  24. 36:04Can We Do Better?
  25. 37:13Towards A Solution
  26. 38:50Two Rules for Typing
  27. 40:50Revised Example (2)
  28. 42:40Efficiency
  29. 43:41The Builder Pattem
  30. 44:54Scala Implementation
  31. 46:25Claim
  32. 47:12Summary
~/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.