~/talk

The design of JavaScript type systems

Talkat Strange Loop 2017 · 2017-09-28..09-30· [javascript, typescript]
links:none on file
slides:none on file

Explains why and how several type systems were added to JavaScript over the last decade, comparing their core features to traditional systems like Java’s and highlighting key differences. Describes how to implement a JavaScript type checker (using concepts from Closure Compiler) and how to apply such a checker in practice, finishing with brief commentary on future directions for type systems in dynamic languages.

AI-written summary · about

  1. 0:00Start
  2. 0:13Overview
  3. 1:07Brief history of JS types
  4. 3:14Requirements for a JavaScript type system
  5. 5:21Familiar features in JS type systems
  6. 8:11Structural typing
  7. 8:59Unions and flow-sensitive typing
  8. 13:13Sources of unsoundness
  9. 16:40How does a JavaScript type checker work?
  10. 17:23Phase 1: Collect and resolve types
  11. 18:49Phase 2: Typecheck each function in isolation
  12. 21:17Evaluating the quality of a JS type checker
  13. 25:30How to write JavaScript that typechecks well
  14. 29:43So, what's next for JS types?
  15. 32:22Type systems for other dynamic languages The design requirements are the same in other languages.
~/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.