Re: Type soundness issues in Java

Please forgive me a possibly ill-considered observation in regard of
Martin's original query. Apparently overawed by the multiplicity of parents
possible in a Java interface hierarchy, the implementors of Sun's verifier
(and no doubt many of their successors) abdicated responsibility for type
checking involving the use of interfaces. Instead, all interface references
are treated by the verifier simply as references of type "Object", and the
burden of checking for compatibility, etc. passed implicitly to the run-time
system (in Sun's original interpreter, the invocation of interface methods
essentially required a run-time type-check anyway). This would explain the
verifier's somewhat lackadaisical treatment of the assignment "i = a" in
Martin's example.
A sad admission, but nonetheless apt, I hope you'll agree, for a true
"working language".

Warmest regards,


----- Original Message -----
From: Don Syme <dsyme@microsoft.com>
To: Don Syme <dsyme@microsoft.com>; 'Kim Bruce' <kim@cs.williams.edu>;
<types@cis.upenn.edu>; <Martin.Buechi@abo.fi>
Sent: Monday, May 17, 1999 1:21 PM
Subject: RE: Type soundness issues in Java