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.
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.
The call for papers is closed.