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