In this paper we present a simple calculus (called CJE) in ourder to fully investigate the exception mechanism of Java, and in particular its interaction with inheritance, which turns out to be non trivial. Moreover, we show that the type system for the calculus directly dirven by the Java language specification (called FULL) uses too many types, in the sense that there are different types which rpovide exactly the same information. Hence, we obtain from FULL a simplified type system called MIN where equivalent types have been identified. We show that is useful both for type-checking optimization and for clarifying the static semantics of the language. The two type systems are proved to satisfy the subject reduction property
[1]
Sophia Drossopoulou,et al.
Describing the Semantics of Java and Proving Type Soundness
,
1999,
Formal Syntax and Semantics of Java.
[2]
Philip Wadler,et al.
Featherweight Java: a minimal core calculus for Java and GJ
,
1999,
OOPSLA '99.
[3]
Sophia Drossopoulou,et al.
Java Exceptions Throw No Surprises
,
2000
.
[4]
Guy L. Steele,et al.
Java Language Specification, Second Edition: The Java Series
,
2000
.
[5]
Davide Ancona,et al.
Jam - A Smooth Extension of Java with Mixins
,
2000,
ECOOP.
[6]
Sophia Drossopoulou,et al.
Java Type Soundness Revisited
,
2000
.