The Shape of Shapeless

I first gave this talk at LambdaConf 2018 in Boulder, Colorado as a 2-hour workshop. My goal was to help intermediate and advanced Scala programmers who had encountered Shapeless in their work to understand it better and feel comfortable not only using it, but even re-implementing it themselves.


Shapeless is a Scala library for compile-time generics using type-level programming. Most first encounter it as magical and a little offputting due to its tempermental nature and opaque error messages. This talk aims to demystify Shapeless by teaching you its core principles and helping you to get a sense for the shape of Shapeless.