Opening Keynote: New Functional Constructs in Scala 3
summary
Scala 3 adds concrete, tested constructs: enums as ADTs/GADTs replace verbose sealed-trait + case-class boilerplate and support Java interop (implementation emerging); extension methods via implicit objects give zero-wrapper infix syntax and make type-class APIs work naturally; opaque types for zero-cost abstraction let code hide representations and enable immutable arrays without boxing. Implicit function types and a TASTy middle end are integrated into the dotty toolchain; feature freeze targets 2019 with a stabilization/release goal around mid‑2020.
AI-written summary · about
chapters (22)
- 0:00Intro
- 3:45Success!
- 5:39Why Not Stop Here?
- 9:58New Features in Scala 3
- 10:31Enumerations
- 11:14Java Interop
- 15:45Generalized Algebraic Data Types
- 18:16Enumeration/ADT Hybrids
- 23:16Visibility of Extension Methods
- 24:27Extension Methods and TypeClasses
- 27:19Higher kinds
- 29:22Why Extension Methods?
- 29:50Status of Extension Methods
- 33:05Immutable Arrays
- 34:21Why This Is Important
- 35:59Opaque Types and Value Classes
- 37:53What About Value Classes?
- 39:29Implicit Function Types
- 40:47Example: Ensuring
- 43:19Tooling
- 44:28The Tasty Vision
- 47:11Migration to Scala 3








