Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and programming languages
Types and programming languages
Adding wildcards to the Java programming language
Proceedings of the 2004 ACM symposium on Applied computing
Towards a semantic model for Java wildcards
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
Interesting questions concerning Java-like languages are often studied in the context of smaller programming calculi such as Featherweight Java. The simplicity of the syntax, and small number of features, and in particular the lack of state, make it possible to focus on the issues of interest. Although the programming languages are imperative, Featherweight Java and various similar calculi are functional. We argue that the study of the type system of Java 5.0 and beyond requires a calculus with state. For example, the treatment of wildcards in Java is tailored to preserve soundness in the presence of stateful computation, a feature that is not present in functional calculi. A stateful calculus is necessary before the potential pitfalls of an incorrect proposal can be seen. We illustrate this point by showing that a traditional treatment of existential types (based on that historically known for the Lambda Calculus) is unsound for Java but remains sound for Featherweight Java.