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.
@InProceedings{dort_et_al:LIPIcs.ECOOP.2020.18, author = {Dort, Vlastimil and Lhot\'{a}k, Ond\v{r}ej}, title = {{Reference Mutability for DOT}}, booktitle = {34th European Conference on Object-Oriented Programming (ECOOP 2020)}, pages = {18:1--18:28}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-154-2}, ISSN = {1868-8969}, year = {2020}, volume = {166}, editor = {Hirschfeld, Robert and Pape, Tobias}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2020.18}, URN = {urn:nbn:de:0030-drops-131755}, doi = {10.4230/LIPIcs.ECOOP.2020.18}, annote = {Keywords: Reference Mutability, Read-only References, DOT Calculus} }
Feedback for Dagstuhl Publishing