A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Type systems for programming languages
Handbook of theoretical computer science (vol. B)
Intersection type assignment systems
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
Normalization results for typeable rewrite systems
Information and Computation
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Theory of Objects
Normalization, approximation, and semantics for combinator systems
Theoretical Computer Science
A lambda calculus of objects and method specialization
Nordic Journal of Computing
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Domains for Denotational Semantics
Proceedings of the 9th Colloquium on Automata, Languages and Programming
Detecting and Removing Dead-Code using Rank 2 Intersection
TYPES '96 Selected papers from the International Workshop on Types for Proofs and Programs
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
The essence of computation
Modular control-flow analysis with rank 2 intersection types
Mathematical Structures in Computer Science
Logical Equivalence for Subtyping Object and Recursive Types
Theory of Computing Systems
Semantic predicate types and approximation for class-based object oriented programming
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Semantic Types and Approximation for Featherweight Java
Theoretical Computer Science
Hi-index | 0.00 |
We consider a semantics for a class-based object-oriented calculus based upon approximation; since in the context of LC such a semantics enjoys a strong correspondence with intersection type assignment systems, we also define such a system for our calculus and show that it is sound and complete. We establish the link with between type (we use the terminology predicate here) assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for head-normalisation and termination. We show the expressivity of our predicate system by defining an encoding of Combinatory Logic (and so also LC) into our calculus.We show that this encoding preserves predicate-ability and also that our system characterises the normalising and strongly normalising terms for this encoding, demonstrating that the great analytic capabilities of these predicates can be applied to OO.