This session was not filmed.
Scala's type system is unique and under-appreciated, in that its support for dependent types and its elegant abstraction of type classes into the higher-level idea of implicits can allow engineers to build libraries that self-assemble into complete programs when given the appropriate data types. You will explore what implicits mean, how to understand them, how *not* to use them, and how to build libraries that leverage them to allow downstream users to have their programs largely be written for them – as long as they provide their domain-specific types. You will use examples in machine learning, but no prior experience with ML is required. Along the way, you will learn some basics of Shapeless, but no prior experience with Shapeless is required.
- Laptop with SBT, an editor or IDE, and git.
YOU MAY ALSO LIKE:
Workshop: Type-Oriented Programming: Building and Using Libraries for Self-Assembling Programs
Jeremy is a senior software engineer in the Algorithms Engineering group at Netflix, where he works on building machine learning applications and libraries. As a longtime Scala enthusiast, Jeremy also works to evangelise functional programming techniques and type level approaches. He is active in the open source Scala community, and makes a regular hobby of asking and answering questions on Gitter, contributing to open source projects, and maintaining a few (with varying degrees of success).