F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
An interpretation of objects and object types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Information and Computation
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Notes on Typed Object-Oriented Programming
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Unifying Type-Theoretic Framework for Objects
STACS '94 Proceedings of the 11th Annual Symposium on Theoretical Aspects of Computer Science
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Variant parametric types: A flexible subtyping scheme for generics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Matching ThisType to subtyping
Proceedings of the 2009 ACM symposium on Applied Computing
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Towards a semantic model for Java wildcards
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Taming wildcards in Java's type system
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Exact type parameterization and ThisType support
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Science of Computer Programming
Hi-index | 0.00 |
Wildcards are an often confusing part of the Java type system: the behaviour of wildcard types is not fully specified by subtyping, due to wildcard capture, and the rules for type checking are often misunderstood. Their very formulation seems somehow 'different' from the rest of the Java type system, which is based on a simple, nominal hierarchy. We investigate subtyping in models for Java with and without generics and wildcards. We separate subclassing from subtyping, unify subtyping for class and wildcard types using existential types, and show that Java wildcards emerge naturally from the combination of inclusion and parametric polymorphism.