Java and scala's type systems are unsound: the existential crisis of null pointers

6Citations
Citations of this article
62Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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 can turn any type into any type without (down)casting. Fortunately, parametric polymorphism was not integrated into the Java Virtual Machine (JVM), so these examples do not demonstrate any unsoundness of the JVM. Nonetheless, we discuss broader implications of these findings on the field of programming languages.

Author supplied keywords

Cite

CITATION STYLE

APA

Amin, N., & Tate, R. (2016). Java and scala’s type systems are unsound: the existential crisis of null pointers. ACM SIGPLAN Notices, 51(10), 838–848. https://doi.org/10.1145/2983990.2984004

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free