Java generics are turing complete

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 …

Julia subtyping: a rational reconstruction

F Zappa Nardelli, J Belyakova, A Pelenitsyn… - Proceedings of the …, 2018 - dl.acm.org
Programming languages that support multiple dispatch rely on an expressive notion of
subtyping to specify method applicability. In these languages, type annotations on method …

Decidable Subtyping of Existential Types for Julia

J Belyakova, B Chung, R Tate, J Vitek - Proceedings of the ACM on …, 2024 - dl.acm.org
Julia is a modern scientific-computing language that relies on multiple dispatch to implement
generic libraries. While the language does not have a static type system, method …

Undecidability of d<: and its decidable fragments

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 …

A type system for Julia

B Chung - 2023 - search.proquest.com
The Julia programming language was designed to fill the needs of scientific computing by
combining the benefits of productivity and performance languages. Julia allows users to …

Taming wildcards in Java's type system

R Tate, A Leung, S Lerner - Proceedings of the 32nd ACM SIGPLAN …, 2011 - dl.acm.org
Wildcards have become an important part of Java's type system since their introduction 7
years ago. Yet there are still many open problems with Java's wildcards. For example, there …

Decidable subtyping for path dependent types

J Mackay, A Potanin, J Aldrich, L Groves - Proceedings of the ACM on …, 2019 - dl.acm.org
Path dependent types have long served as an expressive component of the Scala
programming language. They allow for the modelling of both bounded polymorphism and a …

JavaGI: The interaction of type classes with interfaces and inheritance

S Wehr, P Thiemann - ACM Transactions on Programming Languages …, 2011 - dl.acm.org
The language JavaGI extends Java 1.5 conservatively by a generalized interface
mechanism. The generalization subsumes retroactive and type-conditional interface …

Decidable Subtyping of Existential Types for the Julia Language

Y Belyakova - 2023 - search.proquest.com
Julia is a dynamic, high-performance programming language for scientific computing. To
encourage a high level of code reuse and extensibility, Julia is designed around symmetric …

[PDF][PDF] Mixed-site variance

R Tate - FOOL'13: Informal Proceedings of the 20th …, 2013 - fool2013.cs.brown.edu
Java introduced wildcards years ago. Wildcards were very expressive, and they were
integral to updating the existing libraries to make use of generics. Unfortunately, wildcards …