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 -

Sun 30 Oct
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

08:30 - 10:00: Keynote 1Scala at Matterhorn 2
08:30 - 09:00
Day opening
Opening - Day 1
Scala
Sandro StuckiEPFL, Manohar JonnalageddaEPFL, Switzerland
09:00 - 10:00
Talk
Fine-grained language composition without a common VMKeynote
Scala
Laurence TrattKing's College London
Media Attached
10:30 - 12:10: TypesScala at Matterhorn 2
10:30 - 10:55
Talk
Implementing Higher-Kinded Types in Dotty
Scala
Martin OderskyEPFL, Switzerland, Guillaume MartresEPFL, Switzerland, Dmitry PetrashkoEPFL, Switzerland
DOI Pre-print Media Attached
10:55 - 11:20
Talk
Semantics-Driven Interoperability between Scala.js and JavaScript
Scala
Sébastien DoeraeneEPFL, Switzerland, Tobias SchlatterEPFL, Switzerland, Nicolas StuckiEPFL, Switzerland
DOI Pre-print
11:20 - 11:45
Talk
A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper)
Scala
Fengyun LiuEPFL, Switzerland
DOI Media Attached
11:45 - 12:10
Talk
Scaps: Type-Directed API Search for Scala
Scala
Lukas Wegmann1plusX, Switzerland, Farhad MehtaUniversity of Applied Sciences Rapperswil, Switzerland, Peter SommerladUniversity of Applied Sciences Rapperswil, Switzerland, Mirko StockerUniversity of Applied Sciences Rapperswil, Switzerland
DOI File Attached
13:30 - 15:10: EmbeddingScala at Matterhorn 2
13:30 - 13:55
Talk
RandIR: Differential Testing for Embedded Compilers
Scala
Georg OfenbeckETH Zurich, Switzerland, Tiark RompfPurdue University, USA, Markus PüschelETH Zurich
DOI File Attached
13:55 - 14:20
Talk
Reflections on LMS: Exploring Front-End Alternatives
Scala
Tiark RompfPurdue University, USA
DOI
14:20 - 14:45
Talk
SecureScala: Scala Embedding of Secure Computations
Scala
Markus Hauckcodecentric AG, Savvas SavvidesPurdue University, Patrick EugsterPurdue University, Mira MeziniTU Darmstadt, Guido SalvaneschiTU Darmstadt, Germany
DOI Pre-print Media Attached
14:45 - 15:10
Talk
Towards a Scala embedded information system description DSL
Scala
Zeljko Bajic, Milan JovicDepartment of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad
15:40 - 17:20: Types and EmbeddingScala at Matterhorn 2
15:40 - 16:05
Talk
Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions”
Scala
Paolo G. GiarrussoUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany
16:05 - 16:30
Talk
A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
Scala
Tim van der LippeDelft University of Technology, Netherlands, Thomas SmithDelft University of Technology, Netherlands, Daniel A. A. PelsmaekerDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands
DOI File Attached
16:30 - 17:20
Other
Unconference 1
Scala

Mon 31 Oct
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

08:30 - 10:00: Keynote 2Scala at Matterhorn 2
08:30 - 09:00
Day opening
Opening - Day 2
Scala
Sandro StuckiEPFL, Manohar JonnalageddaEPFL, Switzerland
09:00 - 10:00
Talk
This is not a Type: Gradual typing in practiceKeynote
Scala
Jan VitekNortheastern University
10:30 - 12:10: Reactive, Concurrent, Distributed Computation | ParsingScala at Matterhorn 2
Chair(s): Sébastien DoeraeneEPFL, Switzerland
10:30 - 10:55
Talk
Practical Aggregate Programming in Scala
Scala
Roberto CasadeiUniversity of Bologna, Italy
Media Attached
10:55 - 11:20
Talk
DynaML: A Scala machine learning environment
Scala
Mandar ChandorkarCentrum Wiskunde & Informatica
11:20 - 11:45
Talk
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Scala
Media Attached
11:45 - 12:10
Talk
Reactive Async: Expressive Deterministic Concurrency
Scala
Philipp HallerKTH Royal Institute of Technology, Simon GeriesKTH Royal Institute of Technology, Sweden, Michael EichbergTU Darmstadt, Germany, Guido SalvaneschiTU Darmstadt, Germany
DOI Pre-print Media Attached
13:30 - 15:10: Analysis, Testing & VerificationScala at Matterhorn 2
Chair(s): Philipp HallerKTH Royal Institute of Technology
13:30 - 13:55
Talk
SMT-Based Checking of Predicate-Qualified Types for Scala
Scala
Georg Stefan SchmidEPFL, Switzerland, Viktor KunčakEPFL, Switzerland
DOI File Attached
13:55 - 14:20
Talk
A Scala Library for Testing Student Assignments on Concurrent Programming
Scala
DOI File Attached
14:20 - 14:45
Talk
Building a Modular Static Analysis Framework in Scala (Tool Paper)
Scala
Quentin StiévenartVrije Universiteit Brussel, Belgium, Jens NicolayVrije Universiteit Brussel, Belgium, Wolfgang De MeuterVrije Universiteit Brussel, Belgium, Coen De RooverVrije Universiteit Brussel, Belgium
DOI
14:45 - 15:10
Talk
Automatically finding Scala soundness bugs
Scala
Kartik ChandraHenry M. Gunn High School, Rastislav BodikUniversity of Washington, USA
Media Attached
15:40 - 17:20: ParsingScala at Matterhorn 2
15:40 - 16:05
Talk
Using Scala’s pattern matching features for an attribute grammar formalisation of the CSS layout specification
Scala
Scott BuckleyMacquarie University, Australia
16:05 - 16:30
Talk
The sbt-rats Parser Generator Plugin for Scala (Tool Paper)
Scala
Anthony SloaneMacquarie University, Australia, Franck CassezMacquarie University, Australia, Scott BuckleyMacquarie University, Australia
DOI Media Attached
16:30 - 17:20
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