Typed interpretations of extensible objects
ACM Transactions on Computational Logic (TOCL)
Interpretations of Extensible Objects and Types
FCT '99 Proceedings of the 12th International Symposium on Fundamentals of Computation Theory
A simple typed intermediate language for object-oriented languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Characterizing convergent terms in object calculi via intersection types
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
Hi-index | 0.00 |
I present a type-theoretic encoding of objects that interprets method dispatch by self-application (i.e., method functions are applied to the objects containing them) but still validates the expected subtyping relationships. The naive typing of self-application fails to validate the expected subtyping relationships because it is too permissive and allows application to similarly typed objects that are not self. This new encoding solves this problem by constraining methods to be applied only to self using existential and intersection types. Using this typing, I give a full account of objects including self types and method update. I also present another application of this object encoding to fully abstract, closure-passing closure conversion. The typing constructs used in this encoding appear to be quite rich, but they may be axiomatized in a novel, restricted fashion that is metatheoretically simple.