Training | Generic and meta programming with Scala 2 and Scala 3

Learn to become a Scala wizard capable of writing code that writes code!



Scala is famous for its generic and meta-programming abilities, and Scala 3 promises to make these abilities even stronger. In this course, we will review the current ways of using these abilities, especially in the area of typeclass derivation and automatic codes, and we will take a glimpse at the future of generic and meta-programming in Scala 3.


  • Previous experience with Scala
  • Experience writing tests.
  • IntellIJ IDEA, JDK 8. We'll provide sources.

What you'll learn

  • Basics of generic programming.
  • Typeclass derivation with shapeless (Scala 2)
  • Typeclass derivation with magnolia (Scala 2)
  • Principles of ScalaMeta (Scala 2)
  • Inline methods in Scala 3
  • Macros in Scala 3
  • Staging in Scala 3
  • Introduction to TASTy
  • TASTy reflection and inspection

Company and Private Group Training

Related courses upcoming in the Academy

Company and Private Group Training


This Generic and meta programming with Scala 2 and Scala 3 includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers

Upcoming Academy Events