Overview
Explore the migration path to Scala 3.0 (Dotty) in this 45-minute conference talk from Scala Days Lausanne 2019. Dive into the principles behind Scala 3, including the paradigm shift, extension methods, and type class encoding. Examine the type system evolution and migration impact, covering breaking changes, macros, and metaprogramming. Learn about new features, Scala 2 support, and unchanged elements in Scala 3. Discover who's behind Scala and how Scala 3 design discussions are conducted. Understand the development process of Scala 2.14 and 3, including binary interoperability, testing, and community build. Get insights into cross-building, Scala maintenance, and the overall timeline for the transition to Scala 3.0.
Syllabus
Intro
Talk Outline
Principles Behind Scala 3
Paradigm Shift
Extension Methods, Toplevel Definitions
Type Class Encoding
Type System Evolution
Scala 3 by Migration Impact
Breaking Changes
Macros and Metaprogramming
Specialization
New Features
Scala 2 Support
Unchanged in Scala 3
Who's Behind Scala
Scala 3 Design Discussions
Scala 2.14: Prepare for 3
2.14 and 3: Developed Together
2.14 and 3: Binary Interop
Testing
Community Build
Timeline
Cross Building
Scala Maintenance
Summary
Taught by
Scala Days Conferences