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 conver...
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We have designed and implemented a type inference algorithm for the full Self language. The algorith...
I present a type-theoretic encoding of objects that interprets method dispatch by self-application (...
SelfType is a programming language feature of object systems which allows both methods and instance ...
We address the problem of formal reasoning about mobile code. We consider an Ambient Calculus, where...
Finding typed encodings of object-oriented into procedural or functional programming sheds light on ...
We present an interpretation of typed object-oriented concepts in terms of well-understood, purely p...
In this note we consider a restricted version of the intersection types for a #-calculus with record...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
An object encoding translates a language with object primitives to one without. Similarly, a class e...
This paper concerns techniques for providing a convenient syntax for object languages implemented vi...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We have designed and implemented a type inference algorithm for the full Self language. The algorith...
I present a type-theoretic encoding of objects that interprets method dispatch by self-application (...
SelfType is a programming language feature of object systems which allows both methods and instance ...
We address the problem of formal reasoning about mobile code. We consider an Ambient Calculus, where...
Finding typed encodings of object-oriented into procedural or functional programming sheds light on ...
We present an interpretation of typed object-oriented concepts in terms of well-understood, purely p...
In this note we consider a restricted version of the intersection types for a #-calculus with record...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
In this essay, I present the advantages and, I dare say, the beauty of programming in a language wit...
An object encoding translates a language with object primitives to one without. Similarly, a class e...
This paper concerns techniques for providing a convenient syntax for object languages implemented vi...
: Intersection types and bounded quantification are complementary extensions of first-order a static...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
Subtyping is a basic concept in object-oriented languages. It supports subsumption but, unfortunatel...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We have designed and implemented a type inference algorithm for the full Self language. The algorith...