Advanced Type Mechanics

Upgrade your Scala knowledge to include all the changes and latest features coming in Scala 3.

Book a Training

Overview

Advanced Type Mechanics is a comprehensive study of the full depth of the Scala type system, and the result of fifteen years of personal experience developing software with it.

The course is aimed at Scala developers who desire a fuller understanding of Scala types. It focuses on giving attendees a good mental model of every aspect of the type system: its different types, the relationships between them, their uses, behaviour and inference, and the algorithms which govern them. Building upon this foundation, the course explores how these concepts may be exploited to design APIs which are not just typesafe and correct, but intuitive and beautiful.

Are you interested in attending a private training course?

Register for Private Training

Are you interested in attending a public training course?

Register for Public Training

Who Should Attend

Scala developers who would like to better manipulate the type system to their requirements.

Prerequisites

You should be an experienced user of Scala, with two or more years of experience. You should already be familiar with the language concepts and syntax of Scala. The course does not use or require knowledge of any third-party Scala libraries

Topics

  • Subtyping
  • Singleton Types
  • Composition of Types
  • Existential Types
  • Type Paths
  • Erasure
  • Type Bounds & Least Upper Bounds
  • Variance
  • Kinds
  • Type Interference & Unification
  • Implicit Search & Prioritization
TESTIMONIAL
Last year, we started using ZIO, as a superior alternative to tagless-final and Monad transformers. ZIO is a powerful effect monad with a lot of combinators, interop with important libraries, and new integrations with OpenTracing and logging. ZIO lets us focus on our business logic, making it easier to understand and test, and there is no doubt ZIO will be one of the significant parts of Scala infrastructure over the coming years!
Jan de Groot
DHL Parcel Netherlands - Head of Development

Related Courses

Advanced Type Mechanics

Upgrade your Scala knowledge to include all the changes and latest features coming in Scala 3.

# fundamentals
16 hours

Scala 3 for Scala Developers

Upgrade your Scala knowledge to include all the changes and latest features coming in Scala 3.

# fundamentals
16 hours

Learning Scala

Learn the syntax and semantics of beginner through intermediate level Scala.

# fundamentals
16 hours

Book a Training