As part of our ongoing efforts to offer free Scala education to the Dublin and NYC tech communities, we’re hosting a free, full-day class on July 3 that focuses on Scala libraries! Targeted at experienced Scala engineers, the class focuses on safe and true abstraction with three of the typelevel.scala libraries: Scalaz, Shapeless and Spire.
Teaching the class will be Stephen Compall, a longtime Scalaz developer whose Scala knowledge comes from having studied with various typed functional programming gurus. While pursuing an understanding of a higher kind, he’s also contributed to Shapeless and the Scala standard library, and writes about type-oriented thinking and amusing compiler games for the typelevel.scala blog. As far as he can tell, he’s the only one with his name.
More on the libraries you’ll learn about:
Scalaz: Functors are everywhere
Scalaz is a general-purpose functional programming library. Programmers run into trouble when trying to imagine their seemingly specific and “business-y” code as merely instances of abstract concepts already provided in Scalaz. We will look at some such code and see how we can borrow the power of Scalaz, by way of higher-kinded types, to avoid writing some of the functions (and eliminate the possibility of certain errors in others).
Shapeless: Don’t talk about configuration
Shapeless is famous for pushing the limits of Scala’s type system by way of its extremely abstract system of describing data structures and the core functions built over them. As with Scalaz, it’s a question of seeing where Shapeless is already part of your code. We will practice the art of Scala constraint propagation to combine highly abstract functions from Shapeless into new highly abstract functions, and use Shapeless to solve the problem of delivering different types of configuration to different modules of code via dead-simple dependency injection.
Spire: Make numerical code work fast
Spire is the library for numeric code, from people who know Scala specialization for fast, unboxed, optimized code. It manages amazing performance tricks without sacrificing a bit of type safety; in fact, it encourages stronger type safety, even in purely numerical code, by the usual typelevel means: breaking big concepts down into their true underlying abstractions. We’ll see why Spire math functions follow some odd conventions, learn to write unboxed abstract code, numerical and not, by imitating the Spire authors, and get our newly abstract math functions to slow down for testing and speed up in production.
When: Thursday, July 3, 2014 from 10 AM-6 PM
Where: 2 Park Avenue, New York, NY
Cost: FREE (includes breakfast and lunch)
Who: Gilt technologists, maybe you too
Fill out the form below to submit your contact info. (You must be age 18 or older to attend.) Please note that submitting this form does not guarantee you a seat—but we’ll try our best. We’ll also keep your contact info on file to let you know about future classes!