O7j7knv60vikkbygwq9l
SkillsCast

Workshop: Type-Oriented Programming: Building and Using Libraries for Self-Assembling Programs

15th December 2018 in London at CodeNode

This SkillsCast was filmed at ScalaX2gether Community Day 2018

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.

Workshop Requirements

  • Laptop with SBT, an editor or IDE, and git.

YOU MAY ALSO LIKE:

Thanks to our sponsors

Workshop: Type-Oriented Programming: Building and Using Libraries for Self-Assembling Programs

Jeremy Smith

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).

SkillsCast

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.

Workshop Requirements

  • Laptop with SBT, an editor or IDE, and git.

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

Workshop: Type-Oriented Programming: Building and Using Libraries for Self-Assembling Programs

Jeremy Smith

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).