Thinking in Scala 3 Types
summary
Scala 3’s type system gets concrete models and concrete features: think types as sets and substitution to reduce polymorphism, with worked examples of converting defs to vals including curried and polymorphic cases (def-to-val refactor), and new type lambdas that make polymorphic type members into first-class types. Union and intersection types create a true lattice (AnyKind and a right-hand cloud for type lambdas), polymorphic function literals exist at runtime, and soundness proofs (DOT) fix prior Scala 2 corner cases.
AI-written summary · about
chapters (10)
- 0:00Scala 3 types intro
- 2:09Value functions and substitution
- 8:13Type parameters and methods
- 12:50Types as sets and subtyping
- 17:28Covariant types and bounds
- 19:36Union and intersection types
- 21:24Type intervals and classifiers
- 26:21Type-level defs and refactoring
- 30:35Type lambdas and lattice
- 32:41Q&A








