Approximation Semantics and Expressive Predicate Assignment for Object-Oriented Programming
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.
Unable to display preview. Download preview PDF.
- 8.van Bakel, S., Rowe, R.: Semantic Predicate Types for Class-based Object Oriented Programming. In: FTfJP 2009 (2009)Google Scholar
- 21.Mitchell, J.C.: Type Systems for Programming Languages. In: Handbook of TCS, vol. B, ch. 8, pp. 415–431 (1990)Google Scholar
- 22.Nakano, H.: A Modality for Recursion. In: LICS, pp. 255–266 (2000)Google Scholar