Affiliation:
1. Delft University of Technology, Netherlands
2. IRIF, France / University of Paris, France / CNRS, France
3. Aarhus University, Denmark
Abstract
The metatheory of Scala’s core type system—the
Dependent Object Types (DOT)
calculus—is hard to extend, like the metatheory of other type systems combining subtyping and dependent types. Soundness of important Scala features therefore remains an open problem in theory and in practice. To address some of these problems, we use a
semantics-first
approach to develop a logical relations model for a new version of DOT, called
guarded DOT (gDOT)
. Our logical relations model makes use of an abstract form of
step-indexing
, as supported by the Iris framework, to model various forms of recursion in gDOT. To demonstrate the expressiveness of gDOT, we show that it handles Scala examples that could not be handled by previous versions of DOT, and prove using our logical relations model that gDOT provides the desired data abstraction. The gDOT type system, its semantic model, its soundness proofs, and all examples in the paper have been mechanized in Coq.
Funder
Villum Fonden
Natur og Univers, Det Frie Forskningsråd
Nederlandse Organisatie voor Wetenschappelijk Onderzoek
Fonds Wetenschappelijk Onderzoek
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference51 articles.
1. The Essence of Dependent Object Types
2. Nada Amin Adriaan Moors and Martin Odersky. 2012. Dependent object types. In FOOL. Nada Amin Adriaan Moors and Martin Odersky. 2012. Dependent object types. In FOOL.
3. Type soundness proofs with definitional interpreters;Amin Nada;POPL.,2017
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献