Semantic Types and Approximation for Featherweight Java

Reuben Rowe, Steffen van Bakel

Research output: Contribution to journalArticlepeer-review


We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts) based upon approximation. We also define an intersection type assignment system for this calculus and show that it satisfies subject reduction and expansion, i.e. types are preserved under reduction and its converse. We establish a link between type assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for the characterisation of head-normalisation and termination.

We show the expressivity of both our calculus and our type system by defining an encoding of Combinatory Logic into our calculus and showing that this encoding preserves typeability. We also show 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.
Original languageEnglish
Pages (from-to)34-74
Number of pages41
JournalTheoretical Computer Science
Early online date30 Aug 2013
Publication statusPublished - 16 Jan 2014

Cite this