Book an on-site course

Duration: 1 day

Don't go it alone! Book a private course for your team, taught on-site at your offices.

Book an online course

Duration: 3 weeks

Want a more in-depth approach? Book an online course for your team, taught via live video conferencing.


Essential Shapeless is a course aimed at experienced Scala developers wanting to eliminate boilerplate from their codebases. The course works through several in depth examples of type class derivation designed to cover the main theoretical topics required to understand type class derivation using shapeless.

Course Overview

In the morning we cover the following aspects of type theory used by key parts of shapeless machinery:

  • Algebraic data types and type classes
  • Generic representations: HLists and Coproducts
  • Dependent types
  • Literal types and type tagging
  • Polymorphic functions
  • Type level natural numbers

During the afternoon we put the theory into practice on a number of worked examples of type class derivation, drawn from a library of possibilities:

  • Serialization
  • Equality checking
  • Monoid and Semigroup
  • Validation rules
  • Diffs and patches
  • Random value generation