Please log in to watch this conference skillscast.
Learn the basic building blocks of shapeless and get a practical introduction to generic programming by writing general functionality for any sealed trait and its case class implementations. This workshop is aimed at you if you are a competent Scala developers with little or no shapeless experience, and may also appeal to intermediate shapeless developers.
The case study is spray-json-shapeless, a library that uses shapeless to derive serialisers for consumption by spray-json. You will learn about concepts such as Hipster.Aux, Generic, HList, Coproduct, Lazy and Strict, as well as some caveats (i.e. bugs in the Scala compiler) that can restrict what is possible. You will be involved in applying what you have learnt to S-Expression serialisation, which is exactly how the ENSIME SWANKY protocol works.
Time permitting, you will also take a tour of lesser-known features of shapeless that are being used by ENSIME to solve problems at compile time (that are often solved with verbose runtime reflection).
Code and setup instructions are available in this Github repo
YOU MAY ALSO LIKE:
- High Performance Linear Algebra in Scala (SkillsCast recorded in December 2014)
- Lightbend Scala Language - Professional (in London on 9th - 10th September 2019)
- SC London 2019 (Software Craftsmanship London) (in London on 3rd - 4th October 2019)
- Keynote by Dick Wall on Why API Design Matters, and Why Yours Sucks! (and mine sucks too!) (in London on 24th June 2019)
- London Java Community June (in London on 25th June 2019)
- The Elements of Tagless Final Style (SkillsCast recorded in May 2019)
- Scala 2.13 and Beyond! (SkillsCast recorded in April 2019)