vix.ing · top · new · best · stats · spec

Mutable WadlerFest DOT

2016/11/23 by Marianna Rapoport, Rapoport, Marianna, Ondřej Lhoták +1
Computer Science · #Distributed systems and fault tolerance #FOS: Computer and information sciences #Logic, programming, and type systems #Programming Languages (cs.PL) #Security and Verification in Computing #cs.PL

paper · pdf · doi:10.48550/arxiv.1611.07610

arxiv created 2016/11/23 · openalex publication_date 2016/11/23 · arxiv updated 2016/11/24 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

The Dependent Object Types (DOT) calculus aims to model the essence of Scala, with a focus on abstract type members, path-dependent types, and subtyping. Other Scala features could be defined by translation to DOT. Mutation is a fundamental feature of Scala currently missing in DOT. Mutation in DOT is needed not only to model effectful computation and mutation in Scala programs, but even to precisely specify how Scala initializes immutable variables and fields (vals). We present an extension to DOT that adds typed mutable reference cells. We have proven the extension sound with a mechanized proof in Coq. We present the key features of our extended calculus and its soundness proof, and discuss the challenges that we encountered in our search for a sound design and the alternative solutions that we considered.

Related