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.
- The slides for the talk which can be useful for attendees or watchers who wish to follow along with the talk. Most likely, you'll be better off reading the book (below) if you aren't intending on following along.
- A repo with code explored during the talk, the various
Speakimplementations and a generic
Orderingderivation that works for all conforming case classes.
- A short booklet, recapitulating and expanding on the material of the talk that I wrote originally as notes for the talk but then polished up as I felt it'd be helpful for attendees afterward to revisit the material and dig in deeper.