Metaprogramming using Scala macros is a powerful tool, but macros can look quite scary the first time you see them. I’ll try to show you that macros are both useful and fun!
Part 1: introduction to macros, using live coding to demonstrate how they work and what they can do. Examples of implementing a “def macro” and a macro annotation.
Part 2: introduce scala.meta, the next generation of Scala metaprogramming. More live coding.
Part 3: when you should NOT use a macro. A few examples of using shapeless to achieve the same result as writing a macro, but with less effort.
voted / votable