We investigate semantics-based type assignment for class-based object-oriented programming. Our mo-tivation is developing a theoretical basis for practical, expressive, type-based analysis of the functional behaviour of object-oriented programs. We focus our research using Featherweight Java, studying two notions of type assignment:- one using intersection types, the other a ‘logical ’ restriction of recursive types. We extend to the object-oriented setting some existing results for intersection type systems. In do-ing so, we contribute to the study of denotational semantics for object-oriented languages. We define a model for Featherweight Java based on approximation, which we relate to our intersection type system via an Approximation Res...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We investigate semantics-based type assignment for class-based object-oriented programming. Our moti...
We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts...
This paper formalizes a small object-oriented programming notation. The notation features imperative...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
So far type information for programs written in untyped object-oriented languages equipped with inhe...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
This paper addresses compositional and incremental type checking for object-oriented programming lan...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We investigate semantics-based type assignment for class-based object-oriented programming. Our moti...
We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts...
This paper formalizes a small object-oriented programming notation. The notation features imperative...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
AbstractWe define a powerful type inference mechanism with application to object-oriented programmin...
So far type information for programs written in untyped object-oriented languages equipped with inhe...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
This paper addresses compositional and incremental type checking for object-oriented programming lan...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...
We show how Java intersection types can be freed from their confinement in type casts, in such a way...