Online
Classroom

Scala 3 Upgrade Course

Part of our "Scala" courses

1 day


Course Overview

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.

Course Prerequisites

Students should be familiar with Scala 2

Outline

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)

Public Events

Currently we have no public courses planned for Scala 3 Upgrade Course

Private Events

Do you have a team that needs a Scala 3 Upgrade Course course?

Contact Us

Send us a message

This Scala 3 Upgrade Course course looks very interesting, I do however have a question