LIPIcs - Leibniz International Proceedings in Informatics. 34th European Conference on Object-Oriented Programming (ECOOP 2020)
Doi
Abstract
Reference mutability is a type-based technique for controlling mutation that has been thoroughly studied in Java. We explore how reference mutability interacts with the features of Scala by adding it to the Dependent Object Types (DOT) calculus. Our extension shows how reference mutability can be encoded using existing Scala features such as path-dependent, intersection, and union types. We prove type soundness and the immutability guarantee provided by our calculus