ECOOP 2020
Sun 15 - Tue 17 November 2020 Online Conference
co-located with SPLASH 2020
Sun 15 Nov 2020 18:00 - 18:20 at SPLASH-I - S-6 Chair(s): Shigeru Chiba, Tiark Rompf
Mon 16 Nov 2020 06:00 - 06:20 at SPLASH-I - S-6 Chair(s): Jeremy Gibbons, Olivier Flückiger

The Scala programming language makes all reference types implicitly nullable. This is a problem, because null references do not support most operations that do make sense on regular objects, leading to runtime errors. In this paper, we present a modification to the Scala type system that makes nullability explicit in the types. Specifically, we make reference types non-nullable by default, while still allowing for nullable types via union types. We have implemented this design for explicit nulls as a fork of the Dotty (Scala 3) compiler. We evaluate our scheme by migrating a number of Scala libraries to use explicit nulls. Finally, we give a denotational semantics of type nullification, the interoperability layer between Java and Scala with explicit nulls. We show a soundness theorem stating that, for variants of System F omega that model Java and Scala, nullification preserves elements of ground types.

Conference Day
Sun 15 Nov

Displayed time zone: Central Time (US & Canada) change

17:00 - 18:20
S-6Research Papers at SPLASH-I +12h
Chair(s): Shigeru ChibaThe University of Tokyo, Tiark RompfPurdue University
17:00
20m
Talk
Static Race Detection and Mutex Safety and Liveness for Go Programs
Research Papers
Julia GabetImperial College London, Nobuko YoshidaImperial College London
Link to publication DOI Media Attached
17:20
20m
Talk
Reference immutability for DOT
Research Papers
Vlastimil DortCharles University, Ondřej LhotákUniversity of Waterloo
Link to publication DOI Media Attached
17:40
20m
Talk
Multiparty Session Programming with Global Protocol Combinators
Research Papers
Keigo ImaiGifu University, Rumyana NeykovaBrunel University London, Nobuko YoshidaImperial College London, Shoji YuenNagoya University
Link to publication DOI Media Attached
18:00
20m
Talk
Scala with Explicit Nulls
Research Papers
Abel NietoAarhus University, Yaoyu ZhaoUniversity of Waterloo, Ondřej LhotákUniversity of Waterloo, Angela ChangUniversity of Waterloo, Justin PuUniversity of Waterloo
Link to publication DOI Pre-print Media Attached

Conference Day
Mon 16 Nov

Displayed time zone: Central Time (US & Canada) change

05:00 - 06:20
S-6Research Papers at SPLASH-I
Chair(s): Jeremy GibbonsDepartment of Computer Science, University of Oxford, Olivier FlückigerNortheastern University
05:00
20m
Talk
Static Race Detection and Mutex Safety and Liveness for Go Programs
Research Papers
Julia GabetImperial College London, Nobuko YoshidaImperial College London
Link to publication DOI Media Attached
05:20
20m
Talk
Reference immutability for DOT
Research Papers
Vlastimil DortCharles University, Ondřej LhotákUniversity of Waterloo
Link to publication DOI Media Attached
05:40
20m
Talk
Multiparty Session Programming with Global Protocol Combinators
Research Papers
Keigo ImaiGifu University, Rumyana NeykovaBrunel University London, Nobuko YoshidaImperial College London, Shoji YuenNagoya University
Link to publication DOI Media Attached
06:00
20m
Talk
Scala with Explicit Nulls
Research Papers
Abel NietoAarhus University, Yaoyu ZhaoUniversity of Waterloo, Ondřej LhotákUniversity of Waterloo, Angela ChangUniversity of Waterloo, Justin PuUniversity of Waterloo
Link to publication DOI Pre-print Media Attached