Scala Symposium 2015

Sponsored by SIGPLAN

June 13, Portland, Oregon, USA

Co-located with PLDI '15.

The leading forum for research & development related to the Scala programming language.


Scala: The Industrial Parts

Marius Eriksen
Principal Engineer, Twitter

Scala is a large and very powerful language. This is simultaneously its greatest strength and weakness. On the one hand, Scala is adaptable: it is used in a wide number of applications, from web programming to data processing to DSLs to systems programming; from strong typing to weak. However the drawbacks are also considerable: the unsuspecting outsider sees a playground of ideas; a bewildering buffet of syntax, abstraction, and typing. If something is to be done, Scala offers five ways to do it.
So how do we make Scala work in a large-scale setting, where thousands of engineers grapple daily with millions of lines of code? What works well today, what doesn't? What matters in this setting, what does not? How can Scala evolve to better support large-scale software engineering?
I will talk about how we make use of Scala at Twitter; about which features have turned out to be indispensable, as well as those that have not; the tools we employ, the ones we wish we had; how we teach newcomers, and how they fare; and about the practicalities of maintaining a large and highly interdependent Scala codebase.
Finally, I will present a number of open problems.


9:00am Philipp Haller and Heather Miller. Opening welcome
Session: Concurrency and Distribution
9:15am Aleksandar Prokopec. SnapQueue: Lock-Free Queue with Constant Time Snapshots [slides]
9:45am Philippe Suter, Olivier Tardieu and Josh Milthorpe. Distributed Programming in Scala with APGAS (short paper) [slides]
Session: Generative Programming
10:05am Manohar Jonnalagedda and Sandro Stucki. Fold-based Fusion as a Library: A Generative Programming Pearl [slides]
10:35am Christopher Métrailler and Pierre-André Mudry. ESPeciaL: An Embedded Systems Programming Language (short paper) [slides]
11:00am Coffee break
11:20am Keynote: Marius Eriksen. Scala: The Industrial Parts [slides]
12:30pm Lunch
Session: Types and Verification
2:00pm Nicolas Voirol, Etienne Kneuss and Viktor Kuncak. Counterexample-Complete Verification for Higher-Order Functions [slides]
2:30pm Patrick Prémont. Referential Integrity with Scala Types (short paper) [slides]
2:50pm Régis Blanc and Viktor Kuncak. Sound Reasoning about Integral Data Types with a Reusable SMT Solver Interface (short paper) [slides]
3:10pm Student talks
Guillaume Martres. Implementing Value Classes in Dotty [slides]
Alexandre Sikiaridis. Type Specialization in Dotty [slides]
3:30pm Coffee break
4:00pm Rob Norris. Pure Functional JDBC in Scala (open-source talk) [slides]
4:30pm Dave Rostron. Generic N-Dim R-Tree Explorations or How I Learned to Calm the Hyperspatial Index (open-source talk) [slides]

ACM Authorizer links will provide free access to the research papers maintained in the ACM DL for a one year period from the symposium start date.

Accepted Research Papers

Accepted research papers are published in the Proceedings of the 6th ACM SIGPLAN Symposium on Scala in the ACM Digital Library.

Call for Papers

The call for papers is closed.

Important Dates

(All deadlines are at 23:59 Anywhere on Earth)

Program Committee


Many thanks to our generous sponsors!

Typesafe, Inc.