Pathless Scala: A Calculus for the Rest of Scala
Recent work on the DOT calculus successfully put core aspects of Scala
on a sound foundation, but subtyping in DOT is structural and therefore not
easily amenable to studying the parts of Scala that are deeply tied to its nominal subtyping
system. On the other hand, the Featherweight Java calculus has proven to be a
great basis for studying many aspects of Java and Java-like languages.
Continuing this tradition, we present Pathless Scala: an extension of
Featherweight Generic Java that closely models multiple inheritance and
intersection types as they exist in the Scala language today. We define the
semantics of Pathless Scala by erasing it to a simpler calculus in a way that
closely models how Scala is compiled to Java bytecode in practice. More than a
one-off, we believe that this calculus could be extended to describe many
more features of Scala, although reconciling it with DOT remains an open
problem.
Slides (ps.pdf) | 224KiB |
PhD student at EPFL in the LAMP group working on the Scala 3 compiler
Sun 17 OctDisplayed time zone: Central Time (US & Canada) change
09:00 - 10:20 | |||
09:40 20mFull-paper | Safer Exceptions for Scala Scala Martin Odersky EPFL, Aleksander Boruch-Gruszecki EPFL, Jonathan Immanuel Brachthäuser EPFL, Edward Lee University of Waterloo, Ondřej Lhoták University of Waterloo DOI | ||
10:00 20mFull-paper | Pathless Scala: A Calculus for the Rest of Scala Scala Guillaume Martres EPFL DOI Pre-print File Attached |