Principal typings for Java-like languages

  • Authors:
  • Davide Ancona;Elena Zucca

  • Affiliations:
  • Università di Genova, Genova, Italy;Università di Genova, Genova, Italy

  • Venue:
  • Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

The contribution of the paper is twofold. First, we define a general notion of type system equipped with an entailment relation between type environments; this generalisation serves as a pattern for instantiating type systems able to support separate compilation and inter-checking of Java-like languages, and allows a formal definition of soundess and completeness of inter-checking w.r.t. global compilation. These properties are important in practice since they allow selective recompilation. In particular, we show that they are guaranteed when the type system has principal typings and provides sound and complete entailment relation between type environments.The second contribution is more specific, and is an instantiation of the notion of type system previously defined for Featherweight Java with method overloading and field hiding. The aim is to show that it is possible to define type systems for Java-like languages, which, in contrast to those used by standard compilers, have principal typings, hence can be used as a basis for selective recompilation.