Gradual Typing is the best!
summary
Live coding shows TypeScript catching a string-vs-number call and enforcing required parameters but failing to guard against nulls or divide-by-zero; Flow adds background daemons and type inference and flags possibly-undefined property access while still missing property-typo errors; Typed Racket is presented as the only gradually typed language that uses types to inform the VM for performance; a proposal called SoundScript aims for sound gradual typing for predictable VM performance; concrete examples and broken and fixed runs decide worth watching.
AI-written summary · about
chapters (22)
- 0:00Intro
- 1:05Santa Claus
- 3:15Static type systems
- 4:06Static typing benefits
- 5:22Crisis mode
- 5:42Haskell
- 6:23Static Typing
- 7:08Disclaimer
- 7:34Pluggable Type Systems
- 8:24Static vs Dynamic
- 9:18Gradual Typing
- 10:13Interlanguage Migration
- 10:55Typescript
- 11:19Live coding
- 11:57vim plugin
- 12:29error argument
- 12:52submission type
- 13:45submission error
- 14:48optional parameters
- 15:52Flow
- 16:22Type Inference
- 20:23Conclusion
related talks
37mTyping the Untyped: Soundness in Gradual Type Systems
23mGradual Typing in Python
33mTyped Clojure: From Optional to Gradual Typing
52mWhy Static Typing Came Back
28mPractical Confidence: Using Types to Help Your Computer Help You
53m"Strict" JavaScript: Types Versus Reality
19mAbstracting Gradual Typing Moving Forward : Precise and Space-Efficient
27mA Story About Types and JavaScript
