Type-level Programming with Shapeless
Type-level programming embeds simple computation into the type system to enable richer, context-sensitive types & type-classes. The Shapeless library https://github.com/milessabin/shapeless is a leading example of the use of type-level programming in Scala. This workshop will introduce many Shapeless features and techniques including heterogeneous lists, co-products, polymorphic functions, singleton types, type-level recursion, and the generic representation of data as sums & products. It finishes with an application of the techniques to the problem of json data serialization.
This is a hands-on session where attendees work through a series of code examples and exercises, with solutions available on another git branch. To participate, you should be familiar with Scala, but it requires no prior experience with Shapeless or type-level programming. Github materials are at https://github.com/benhutchison/learningshapeless.
Target Audience
developers, Technical leads and Architects,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners and product owners