Understanding the Type System of Scala 3
summary
Covers concrete Scala 3 features: polymorphic function types (syntax for type-parameterized function literals), type lambdas (square-bracket params and double-arrow ->>), and how higher-kinded patterns map to System F/ System Fω. Demonstrates applying a polymorphic literal to Bool or String, explains type-level variance and bounds, and shows type-level eta-expansion — treating List/Map as named type-level methods that automatically expand to type lambdas — which simplifies collection and library designs and compiles as expected.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:31Lambda calculus basics
- 5:40Functions in Scala
- 8:21Understanding eta expansion
- 10:57System F and polymorphism
- 14:13Polymorphic function types
- 16:10Higher-kinded types
- 21:04Type lambdas in Scala 3
- 25:15Advanced type mappings
related talks
38mThinking in Scala 3 Types
42mPolymorphic Function Types in Scala 3
32mAdvanced Features of Scala 3
49mType level Programming in Scala
40mPolymorphic Function Types in Scala 3
45mHow to be polymorphic in Scala
48mAcademese to English: A Practical Tour of Scala’s Type System
45mTypelevel Programming 101: The Subspace of Scala
