F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A syntactic approach to type soundness
Information and Computation
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Theory and Practice of Object Systems - Special issue: type systems
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
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Theory of Objects
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Scalable extensibility via nested inheritance
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Variant parametric types: A flexible subtyping scheme for generics
ACM Transactions on Programming Languages and Systems (TOPLAS)
J&: nested intersection for scalable software composition
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Tribe: a simple virtual class calculus
Proceedings of the 6th international conference on Aspect-oriented software development
Variant path types for scalable extensibility
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Lightweight family polymorphism*
Journal of Functional Programming
Matching ThisType to subtyping
Proceedings of the 2009 ACM symposium on Applied Computing
On subtyping, wildcards, and existential types
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
On Problems in Polymorphic Object-Oriented Languages With Self Types and Matching
Fundamenta Informaticae
Hi-index | 0.00 |
The notion of MyType has been proposed to promote type-safe reuse of binary methods and recently extended to mutually recursive definitions. It is well known, however, that MyType does not match with subtyping well. In current type systems, type safety is guaranteed at the expense of subtyping, and hence dynamic dispatch. In this article, we propose two mechanisms, namely, nonheritable methods and exactstatements to remedy the mismatch between MyType and subtyping. We rigorously prove their safety by modeling them in a small calculus.