Back To Schedule
Thursday, November 15 • 10:40am - 11:00am
Immutable APIs and mutable internals: a Scala design case study

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Abstract: We love immutability for creating clear APIs that are easy to understand. Unfortunately, many immutable designs are slower than comparable mutable designs. In this tutorial style talk we will consider the case of parser combinators. We will first create a simple immutable API for our parser combinator library. Then we will consider an alternate implementation that keeps the immutable API but composes using hidden mutable state. The result is an immutable public API with twice the performance of the original. This design approach can generalize to other use cases in Scala to retain a safe and clean API but dramatically improve performance.

avatar for Oscar Boykin

Oscar Boykin

Machine Learning Infrastructure, Stripe
Oscar is the creating of Scalding, Summingbird, and Algebird, and is an overall professor and mathematician turned software magician.

Thursday November 15, 2018 10:40am - 11:00am PST