Scala 3 Upgrade Course
This is a great course that familiarises experienced scala developers with the new features of Scala 3 (also known as Dotty).
The course also covers migration techniques and strategies.
Students should be familiar with Scala 2
We are proud to offer this Scala 3 upgrade course. Scala 3 has not yet been released, but its features have been stabilised. This course is geared toward students that already are familiar with Scala 2 and wish to quickly learn new and updated language features, techniques and migration strategies. If you are a newcomer to scala, we recommend our Core Scala 3 course: SCALA-CORE.
EDC4IT has been working with Scala since the early 2000s, and has taught many teams.
We worked together with different teams on their projects.
This course covers:
Introduction to Scala 3
- Introduce Scala 3
- Changes to the compiler (and intro into DOT calculus)
- Optional braces and indentation
- Deprecated features
New Language Features
- Explicit nulls and safe initialisation
- Intersection and union types
- Using enums for simplified ADTs
- Simplified pattern matching
- Discuss changes in Macro support
- Changes for traits (parameters, transient, …)
- Using export clauses
- Changes to refinement and structural types
- Changes for operators and infix notation
- Defining applications (and using the FromString type-class)
- Open/closed classes
- Changes to eta-expansion
- Changes to equality (and using type-class derivation)
- Other changes
Changes in Implicits
- defining implicit conversions
- Using extension methods
- using givens/using
- Defining and implementing Type Classes in Scala 3
- Opaque Type Aliases
- Introduce Type-class derivation
- Discuss migration strategies
- Manage dependencies and use scala 2 libraries
- Using compiler flags
- Using the compiler to aid in migration
- Applying scalafix rules
- Using sbt (Scala 3 Migrate Plugin)