A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Polymorphic type inference and containment
Information and Computation - Semantics of Data Types
Toward a typed foundation for method specialization and inheritance
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the fifth international conference on Mathematical foundations of programming semantics
Complete restrictions of the intersection type discipline
Theoretical Computer Science
Decidable bounded quantification
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bounded quantification is undecidable
Information and Computation
Intersection type assignment systems
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Points-to analysis for Java using annotated constraints
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Theory of Objects
Information and Computation - FOOL VII
A lambda calculus of objects and method specialization
Nordic Journal of Computing
Intersection Types and Bounded Polymorphism
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Lightweight confinement for featherweight java
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Expressive type systems for object-oriented languages
Expressive type systems for object-oriented languages
Featherweight Java with multi-methods
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Logical Equivalence for Subtyping Object and Recursive Types
Theory of Computing Systems
Type Assignement for Mobile Objects
Electronic Notes in Theoretical Computer Science (ENTCS)
Abstract Interpretation and Object-oriented Programming: Quo Vadis?
Electronic Notes in Theoretical Computer Science (ENTCS)
Session types for object-oriented languages
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Approximation semantics and expressive predicate assignment for object-oriented programming
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
Semantic Types and Approximation for Featherweight Java
Theoretical Computer Science
Hi-index | 0.00 |
We apply the principles of the intersection type discipline to the study of class-based object oriented programs and; our work follows from a similar approach (in the context of Abadi and Cardelli's ς-object calculus) taken by van Bakel and de'Liguoro. We define an extension of Featherweight Java, pFJ, and present a predicate system which we show to be sound and expressive. We also show that our system provides a semantic underpinning for the object oriented paradigm by generalising the concept of approximant from the Lambda Calculus and demonstrating an approximation result: all expressions to which we can assign a predicate have an approximant that satisfies the same predicate. Crucial to this result is the notion of predicate language, which associates a family of predicates with a class.