## Semantic Types and Approximation for Featherweight Java

### BibTeX

@MISC{Rowe_semantictypes,

author = {R. N. S. Rowe and S. J. Van Bakel},

title = {Semantic Types and Approximation for Featherweight Java},

year = {}

}

### OpenURL

### Abstract

We consider semantics for the class-based object-oriented calculus Featherweight Java based upon approximation. We also define an intersection type assignment systems for this calculus and show that it is sound and complete, i.e. types are preserved under conversion. We establish the link with between type 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 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. We thus demonstrate that the great analytic capabilities of intersection types can be applied to the context of class-based object orientation.