Scala with Cats (in Space)

  • £7,500
  • 3 days
  • 2-10 trainees
  • On-site or remote

An example-driven introduction to Typelevel's Cats library, aimed at intermediate-level Scala developers. We show you how to solve common programming problems with Cats, and look in depth at the theoretical building blocks that underpin these solutions.

Course Outline

Cats and Type Classes

  • The type class pattern
  • Implicit parameters and values
  • Rules of implicit resolution
  • Recursive implicit resolution
  • Type classes in Cats

Counting with Cats

  • The Monoid and Semigroup type classes
  • Examples of monoids from Scala
  • Applications of monoids in big data

Error Handling with Cats

  • Error handling with Either
  • mapN, sequence, and traverse
  • Accumulating errors
  • parMapN, parSequence, and parTraverse

Concurrent Programming with Cats

  • Cats Effect's IO monad
  • Doing things in sequence
  • Doing things in parallel
  • Traversing and sequencing

Decoupling Modules with Cats

  • The Functor, Applicative, and Monad type classes
  • Higher kinded types
  • Simplifying test code by switching monads
  • Finally tagless encoding
  • Natural transformations

Course Text

The content for this course is open source:

Logistics

We can deliver courses on-site or online over video conferencing, in the UK, Europe, US, or further afield.

We can adjust the teaching schedule to a certain degree to fit around your team's existing commitments. When teaching online, we recommend splitting longer courses into shorter sessions with interspersed breaks to avoid call fatigue.

  • Terms
  • Privacy
  • Contact Us