Ben Hutchison

Share

Technical Lead at REA Group
 benhutchison.wordpress.com/
 @ben_hutchison

Ben oversees the development and operation of a wide variety of software systems in the Residential line of business. Ben has 18 years commercial software development experience in Australia and the UK including time with GSJBW, Sensis and Melbourne IT, and has coordinated the Melbourne Scala Users Group for the past 7 years. His passion is finding better ways to do programming and applying them to practical situations; recent examples are taking Scala into the browser with Scala.js, and continuing to improve the reliability of software through better use of static typing.

YOW! Lambda Jam 2016 Brisbane

Type-level Programming with Shapeless

WORKSHOP/JAM

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.