Minimizing the Slippery Surface of Failure — Jon Pretty

an hour
Scala's type system allows us to enforce compile-time constraints on our programs, and to take advantage of these constraints to help reason about our code. Yet we still frequently encounter situations where extracting a value from a map is not guaranteed to succeed, or mapping across a set of cases is not guaranteed to be exhaustive. With dependent types we can make operations like these completely safe by construction, in the process eliminating entire classes of errors, and furthermore we can do this without complicating user code. Additionally, with more precise type information becoming available at compile time, we elicit the exciting opportunity to use it to optimize performance at runtime, beyond what would be possible without dependent typing. The talk will cover several simple and intermediate examples using dependent types, and will give a brief outline of some of the the challenges involved in implementing typesafe libraries with dependent types in Scala, but the majority of the talk will be accessible to all Scala users.

Related Talks

Scala Monads: Declutter Your Code With Monadic Design

Scala Monads: Declutter Your Code With Monadic DesignIn this video tutorial, Dan Rosen will show you how to use Scala's capacity for monadic design to eliminate repetitive boilerplate in your code. You'll learn to recognize places where the perpetual clutter of null checks, try-catch blocks and more can be hidden within a monad, to make your ...

Scala Versus Java

Scala Versus JavaJava is no longer alone on the JVM. It now has to share space with its younger siblings JRuby, Jython, Groovy, Clojure, Scala and many others. Each new language has its own set of advantages and disadvantages compared to Java, and its own niche in which it performs best, but ...

Concurrency Anti-patterns in Scala

Concurrency Anti-patterns in ScalaBlake Matheny approaches his talk at NEScala with a collection of trial-and-error experiences he's acquired as the VP of Engineering at Tumblr (who for the past year and half has adopted Scala as their primary backend development language). Blake draws on actual code used at Tumblr, describes their implications in ...

Scala Collections: Why Not?

Scala Collections: Why Not?Paul Phillips is a co-founder of Typesafe and the most prolific committer to Scala. He's spent the last 5 years developing the language, writing a lot of code and drawing a lot of conclusions, but has decided to walk away. In this talk, he explains why. He outlines what he believes ...