Scala 2016
Sun 30 - Mon 31 October 2016 Amsterdam, Netherlands
co-located with SPLASH 2016

Welcome to the Scala Symposium 2016!

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. The Scala Symposium is a forum for researchers and practitioners to share new ideas and results of interest to the Scala community. We welcome a broad spectrum of research topics and many formats.

This year’s Scala Symposium is collocated with Splash 2016.

Supported by
Lightbend   Oracle

Dates
You're viewing the program in a time zone which is different from your device's time zone - change time zone

Sun 30 Oct

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

08:30 - 10:00
Keynote 1Scala at Matterhorn 2
08:30
30m
Day opening
Opening - Day 1
Scala
Sandro Stucki EPFL, Manohar Jonnalagedda EPFL, Switzerland
09:00
60m
Talk
Fine-grained language composition without a common VMKeynote
Scala
Laurence Tratt King's College London
Media Attached
10:30 - 12:10
10:30
25m
Talk
Implementing Higher-Kinded Types in Dotty
Scala
Martin Odersky EPFL, Switzerland, Guillaume Martres EPFL, Switzerland, Dmitry Petrashko EPFL, Switzerland
DOI Pre-print Media Attached
10:55
25m
Talk
Semantics-Driven Interoperability between Scala.js and JavaScript
Scala
Sébastien Doeraene EPFL, Switzerland, Tobias Schlatter EPFL, Switzerland, Nicolas Stucki EPFL, Switzerland
DOI Pre-print
11:20
25m
Talk
A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper)
Scala
Fengyun Liu EPFL, Switzerland
DOI Media Attached
11:45
25m
Talk
Scaps: Type-Directed API Search for Scala
Scala
Lukas Wegmann 1plusX, Switzerland, Farhad Mehta University of Applied Sciences Rapperswil, Switzerland, Peter Sommerlad University of Applied Sciences Rapperswil, Switzerland, Mirko Stocker University of Applied Sciences Rapperswil, Switzerland
DOI File Attached
13:30 - 15:10
EmbeddingScala at Matterhorn 2
13:30
25m
Talk
RandIR: Differential Testing for Embedded Compilers
Scala
Georg Ofenbeck ETH Zurich, Switzerland, Tiark Rompf Purdue University, USA, Markus Püschel ETH Zurich
DOI File Attached
13:55
25m
Talk
Reflections on LMS: Exploring Front-End Alternatives
Scala
Tiark Rompf Purdue University, USA
DOI
14:20
25m
Talk
SecureScala: Scala Embedding of Secure Computations
Scala
Markus Hauck codecentric AG, Savvas Savvides Purdue University, Patrick Eugster Purdue University, Mira Mezini TU Darmstadt, Guido Salvaneschi TU Darmstadt, Germany
DOI Pre-print Media Attached
14:45
25m
Talk
Towards a Scala embedded information system description DSL
Scala
Zeljko Bajic , Milan Jovic Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad
15:40 - 17:20
Types and EmbeddingScala at Matterhorn 2
15:40
25m
Talk
Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions”
Scala
Paolo G. Giarrusso University of Tübingen, Germany, Jonathan Immanuel Brachthäuser University of Tübingen, Germany
16:05
25m
Talk
A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
Scala
Tim van der Lippe Delft University of Technology, Netherlands, Thomas Smith Delft University of Technology, Netherlands, Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Eelco Visser Delft University of Technology, Netherlands
DOI File Attached
16:30
50m
Other
Unconference 1
Scala

Mon 31 Oct

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

08:30 - 10:00
Keynote 2Scala at Matterhorn 2
08:30
30m
Day opening
Opening - Day 2
Scala
Sandro Stucki EPFL, Manohar Jonnalagedda EPFL, Switzerland
09:00
60m
Talk
This is not a Type: Gradual typing in practiceKeynote
Scala
Jan Vitek Northeastern University
10:30 - 12:10
Reactive, Concurrent, Distributed Computation | ParsingScala at Matterhorn 2
Chair(s): Sébastien Doeraene EPFL, Switzerland
10:30
25m
Talk
Practical Aggregate Programming in Scala
Scala
Roberto Casadei University of Bologna, Italy
Media Attached
10:55
25m
Talk
DynaML: A Scala machine learning environment
Scala
Mandar Chandorkar Centrum Wiskunde & Informatica
11:20
25m
Talk
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Scala
Media Attached
11:45
25m
Talk
Reactive Async: Expressive Deterministic Concurrency
Scala
Philipp Haller KTH Royal Institute of Technology, Simon Geries KTH Royal Institute of Technology, Sweden, Michael Eichberg TU Darmstadt, Germany, Guido Salvaneschi TU Darmstadt, Germany
DOI Pre-print Media Attached
13:30 - 15:10
Analysis, Testing & VerificationScala at Matterhorn 2
Chair(s): Philipp Haller KTH Royal Institute of Technology
13:30
25m
Talk
SMT-Based Checking of Predicate-Qualified Types for Scala
Scala
Georg Stefan Schmid EPFL, Switzerland, Viktor Kunčak EPFL, Switzerland
DOI File Attached
13:55
25m
Talk
A Scala Library for Testing Student Assignments on Concurrent Programming
Scala
Mikaël Mayer EPFL, Switzerland, Ravichandhran Madhavan EPFL
DOI File Attached
14:20
25m
Talk
Building a Modular Static Analysis Framework in Scala (Tool Paper)
Scala
Quentin Stiévenart Vrije Universiteit Brussel, Belgium, Jens Nicolay Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel, Belgium, Coen De Roover Vrije Universiteit Brussel, Belgium
DOI
14:45
25m
Talk
Automatically finding Scala soundness bugs
Scala
Kartik Chandra Henry M. Gunn High School, Rastislav Bodik University of Washington, USA
Media Attached
15:40 - 17:20
15:40
25m
Talk
Using Scala’s pattern matching features for an attribute grammar formalisation of the CSS layout specification
Scala
Scott Buckley Macquarie University, Australia
16:05
25m
Talk
The sbt-rats Parser Generator Plugin for Scala (Tool Paper)
Scala
Anthony Sloane Macquarie University, Australia, Franck Cassez Macquarie University, Australia, Scott Buckley Macquarie University, Australia
DOI Media Attached
16:30
50m
Other
Unconference 2
Scala

Call for Papers

We welcome submissions on topics related to Scala, including (but not limited to):

  • Language design and implementation – language extensions, optimization, and performance evaluation.
  • Library design and implementation patterns for extending Scala – stand-alone Scala libraries, embedded domain-specific languages, combining language features, generic and meta-programming.
  • Formal techniques for Scala-like programs – formalizations of the language, type system, and semantics, formalizing proposed language extensions and variants, dependent object types, type and effect systems.
  • Concurrent and distributed programming – libraries, frameworks, language extensions, programming models, performance evaluation, experimental results.
  • Big data and machine learning libraries and applications using the Scala programming language.
  • Safety and reliability – pluggable type systems, contracts, static analysis and verification, runtime monitoring.
  • Interoperability with other languages and runtimes, such as JavaScript, Java 8 (lambdas), Graal and others.
  • Tools – development environments, debuggers, refactoring tools, testing frameworks.
  • Case studies, experience reports, and pearls.

Important dates

  • Abstract submission: extended to July 25th, 2016
  • Paper submission: extended to Aug 1st, 2016
  • Paper notification: extended to September 9th, 2016
  • Camera ready: September 23rd, 2016

All deadlines are “Anywhere on Earth” (AoE)

Submission Format

To accommodate the needs of researchers and practitioners as well as beginners and experts alike, we accept submissions in several formats:

  • Full papers (10 pages)
  • Short papers (4 pages)
  • Tool papers (4 pages)
  • Student Talks (abstract)
  • Open Source Talks (abstract)

Details for each format are given below.

Please note that at least one author of each accepted contribution must attend the symposium and present the work. In the case of tool demonstration papers, a live demonstration of the described tool is expected.

Full and Short Papers

Full and Short papers should describe novel ideas, experimental results, or projects related to Scala. In order to encourage lively discussion, submitted papers may describe work in progress. All papers will be judged on a combination of correctness, significance, novelty, clarity, and interest to the community.

In general, papers should explain their original contributions, identifying what has been accomplished, explaining why it is significant, and relating it to previous work (also for other languages where appropriate).

The submissions should follow the ACM SIGPLAN guidelines and use a 10pt font and numeric citation style. Accepted full and short papers will be published in the proceedings and will be disseminated on the ACM Digital Library.

Tool Papers

Tool papers need not necessarily report original research results; they may report practical experience that will be useful to others, new Scala idioms, or programming pearls. In all cases, such a paper must make a contribution which is of interest to the Scala community, or from which other members of the Scala community can benefit.

Student Talks

In addition to regular papers and tool demos, we also solicit short student talks by bachelor/master/PhD students. A student talk is not accompanied by paper (it is sufficient to submit a short abstract of the talk in plain text). Student talks are about 5-10 minutes long, presenting ongoing or completed research related to Scala. In previous years, each student with an accepted student talk received a grant (donated by our sponsors) covering registration and/or travel costs.

Open Source Talks

We will accept a limited number of short talks about open-source projects using Scala presented by contributors. An open-source talk is not accompanied by a paper (it is sufficient to submit a short abstract of the talk in plain text). Open-source talks are 10 minutes long, presenting an open-source project that would be of interest to the Scala community.

Submission Website

The submission will be managed through HotCRP: https://scala16.hotcrp.com/

For questions and additional clarifications, please contact the conference organizers.


We thank our sponsors Lightbend and Oracle for supporting some of the talented student attendees of the Scala Symposium 2016.

Lightbend   Oracle

Accepted Papers and Talks

Title
A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper)
Scala
DOI Media Attached
A Scala Library for Testing Student Assignments on Concurrent Programming
Scala
DOI File Attached
A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
Scala
DOI File Attached
Automatically finding Scala soundness bugs
Scala
Media Attached
Building a Modular Static Analysis Framework in Scala (Tool Paper)
Scala
DOI
DynaML: A Scala machine learning environment
Scala
Implementing Higher-Kinded Types in Dotty
Scala
DOI Pre-print Media Attached
Practical Aggregate Programming in Scala
Scala
Media Attached
RandIR: Differential Testing for Embedded Compilers
Scala
DOI File Attached
Reactive Async: Expressive Deterministic Concurrency
Scala
DOI Pre-print Media Attached
Reflections on LMS: Exploring Front-End Alternatives
Scala
DOI
Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions”
Scala
SMT-Based Checking of Predicate-Qualified Types for Scala
Scala
DOI File Attached
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Scala
Media Attached
Scaps: Type-Directed API Search for Scala
Scala
DOI File Attached
SecureScala: Scala Embedding of Secure Computations
Scala
DOI Pre-print Media Attached
Semantics-Driven Interoperability between Scala.js and JavaScript
Scala
DOI Pre-print
The sbt-rats Parser Generator Plugin for Scala (Tool Paper)
Scala
DOI Media Attached
Towards a Scala embedded information system description DSL
Scala
Using Scala’s pattern matching features for an attribute grammar formalisation of the CSS layout specification
Scala