Overview
Explore the inner workings of Shapeless, a powerful Scala framework, in this 49-minute conference talk from Scala Days New York 2016. Dive deep into the tools and techniques used to create Shapeless, learning how to harness the full potential of Scala's type system without relying on macro programming. Discover how to represent complex constraints and generalize code over broad structural classes. Follow along as the speaker recreates major elements of Shapeless, focusing on understanding the general patterns and ideas behind its implementation. Cover topics such as context-independence, type-level functions, HList operations, implicits, and Peano arithmetic. Gain insights into the challenges and downsides of these approaches, and participate in practical exercises to reinforce your understanding. By the end of this talk, acquire the knowledge to leverage advanced type system features in your own Scala projects, unlocking new levels of expressiveness in your code.
Syllabus
Intro
Miles Sabin
Shapeless
Previously on Daniel...
Context-Independence
Type Level Functions
Context-Dependence
Roadmap
HList#remove
Implementation
"Out" Types
WARNING
Remover
HList#map
Implicits!
Downsides
Exercise 3.1
Peano Arithmetic
Macros
Conclusion
Taught by
Scala Days Conferences