N Amin, T Rompf - Proceedings of the 44th ACM SIGPLAN Symposium …, 2017 - dl.acm.org
While type soundness proofs are taught in every graduate PL class, the gap between realistic languages and what is accessible to formal proofs is large. In the case of Scala, it …
T Rompf, N Amin - Proceedings of the 2016 ACM SIGPLAN International …, 2016 - dl.acm.org
Scala's type system unifies aspects of ML modules, object-oriented, and functional programming. The Dependent Object Types (DOT) family of calculi has been proposed as a …
R Grigore - ACM SIGPLAN Notices, 2017 - dl.acm.org
This paper describes a reduction from the halting problem of Turing machines to subtype checking in Java. It follows that subtype checking in Java is undecidable, which answers a …
N Amin, R Tate - Acm Sigplan Notices, 2016 - dl.acm.org
We present short programs that demonstrate the unsoundness of Java and Scala's current type systems. In particular, these programs provide parametrically polymorphic functions that …
Recursive types and bounded quantification are prominent features in many modern programming languages, such as Java, C#, Scala or TypeScript. Unfortunately, the …
JZS Hu, O Lhoták - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
Dependent Object Types (DOT) is a calculus with path dependent types, intersection types, and object self-references, which serves as the core calculus of Scala 3. Although the …
M Rapoport, O Lhoták - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
The Dependent Object Types (DOT) calculus aims to formalize the Scala programming language with a focus on path-dependent types—types such as x. a 1… an. T that depend …
V Dort, Y Li, O Lhoták, P Parízek - 38th European Conference on …, 2024 - drops.dagstuhl.de
Object-oriented programming languages typically allow mutation of objects, but pure methods are common too. There is great interest in recognizing which methods are pure …