Scala is famous in part for having one of the richest type systems of all mainstream programming languages today. Despite its reputation, Scala’s type system remains one of the most under-documented and jargon-heavy aspects of Scala.
This talk will turn the academese into English, providing an example-rich tour of Scala’s type system, covering all the things that make people call it “powerful”. This talk isn’t about showcasing a bunch of challenging little logical puzzles with types; on the contrary, this talk is about showing practical uses of Scala’s type system, making it work for you and your users. We’ll see how we can use it to improve usability by reducing boilerplate, meanwhile keeping code type-safe. From structural types, to type refinements, all the way to Scala’s unique flavor of dependent types, we’ll touch on the practical and not-so-practical of Scala’s type system, all through examples. Finally, we’ll go on to see what about Scala’s type system is changing in dotty, the experimental new Scala compiler under active development at EPFL.
Heather is a research scientist and the executive director of the Scala Center at EPFL in Lausanne, Switzerland. She recently completed her PhD in EPFL’s School of Computer and Communication Science under Professor Martin Odersky, where she contributed to the now-widespread programming language, Scala. Heather’s research interests are at the intersection of data-centric distributed systems and programming languages, with a focus on transferring her research results into industrial use.
She now oversees the newly-established Scala Center, whose goal is to jointly to spearhead community open-source development on Scala, and to improve education surrounding Scala through a series of MOOCs.