Scala 3 Upgrade Course

Duration
1 Day
Online Duration
1 Day

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.

Prerequisites

Students should be familiar with Scala 2

Course Contents

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

  • 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

Migration Strategies

  • 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)
For an onsite course please contact us