Virtusity: Advanced Type Mechanics for Scala 2 & 3

header_virtusity_final-min
Date
19.11.2020 at 16:00 CEST
Event website
Registration
Closed
Language
English

This course is a complete revision of the successful Advanced Type Mechanics course for Scala 2, with new material introduced for Scala 3, and existing material updated for Scala 3, giving insight into its relevance now and in the future, as the language evolves.

Advanced Type Mechanics is a two-day course for intermediate- to advanced-level Scala users to enhance their understanding of the language through its type system, the foundation upon which the entire language is built.

The course will develop participants’ grasp of concepts like path-dependent and singleton types; projection, wildcard and existential types; kinds, higher-kinded types and type lambdas; type parameters, members and variance; and much more. It then goes further to develop relations between these concepts, to establish an intuition for how the Scala compiler works with types.

Scala 3 provides, in its implementation of the DOT Calculus, a provably-sound foundation that Scala 2 never had, and builds upon this bedrock to provide a variety of new features such as union types, dependent function types and type matches, with additional constraints which help to guarantee typesafety. We will study these new type-level features, and explore the new opportunities they present for existing Scala 2 code.

 

Written by

Natalia Romanowska
Natalia Romanowska Nov 5, 2020