Write a Blog >>
Fri 28 Sep 2018 11:27 - 11:50 at Frisco - Session 1: Scala Foundations Chair(s): Paolo G. Giarrusso

Scala unifies concepts from object and module systems by allowing for objects with type members which are referenced via path-dependent types. The Dependent Object Types (DOT) calculus of Amin et al. models only this core part of Scala, but not many fundamental features of Scala such as strict and mutable fields. Since the most commonly used field types in Scala are strict, the correspondence between DOT and Scala is too weak for us to meaningfully prove static analyses safe for Scala by proving them safe for DOT.

A DOT calculus that can support strict and mutable fields together with constructors that do field initialization would be more suitable for analysis of Scala. Toward this goal, we present κDOT, an extension of DOT that supports constructors and field mutation and can emulate the different types of fields in Scala. We have proven κDOT sound through a mechanized proof in Coq. We present the key features of κDOT and its operational semantics and discuss work-in-progress toward making κDOT fully strict.

Fri 28 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:20 - 11:50
Session 1: Scala FoundationsScala 2018 at Frisco
Chair(s): Paolo G. Giarrusso EPFL, Switzerland
10:20
22m
Talk
Extending Scala with Records: Design, Implementation, and Evaluation
Scala 2018
Olof Karlsson A3J Consulting, Sweden, Philipp Haller KTH, Sweden
DOI
10:42
23m
Talk
Initialization Patterns in Dotty
Scala 2018
Fengyun Liu EPFL, Switzerland, Aggelos Biboudis EPFL, Switzerland, Martin Odersky EPFL, Switzerland
DOI
11:05
22m
Talk
Path Dependent Types with Path-Equality
Scala 2018
Jaemin Hong KAIST, South Korea, Jihyeok Park KAIST, South Korea, Sukyoung Ryu KAIST, South Korea
DOI
11:27
23m
Talk
κDOT: Scaling DOT with Mutation and Constructors
Scala 2018
Ifaz Kabir University of Waterloo, Canada, Ondřej Lhoták University of Waterloo
DOI