Updated Featherweight Defenders document available

Richard Warburton richard.warburton at gmail.com
Fri Dec 2 16:17:28 PST 2011


On 02/12/11 20:32, Brian Goetz wrote:
> I have completed a major refinement of the formal model for defender
> resolution.  There are significant cleanups in the math (mostly notably
> fixing the ambiguity surrounding the meaning of 'nil' in lookup
> functions) which enabled some simplifications in the model; we were able
> to eliminate many of the internal predicates (SigOK, BodyOK) and thereby
> simplify (and in some cases, eliminate) many rules.  Also added are new
> judgments for resolution of I.super.m() calls.
>
> Comments welcome.
>
> http://hg.openjdk.java.net/lambda/defender-prototype/raw-file/f49be48f1225/doc/featherweight-defenders.pdf
Thanks for posting this document to the list - it's a really interesting 
read.

On a minor point in rule R-IntfSuper it appears as though the meaning of 
subscript i is overloaded.  It is used as an index into the set of all 
immediate super-interface when calculating S (the union of their 
defender candidates).  It is also used to denote a specific immediate 
super-interface of C that the super-call is being made through and 
appears to be referred to in that context in "dcand(Ii) = { J }".

This was of initial confusion to me, and it would probably be clearer to 
the reader if the same name wasn't chosen for both meanings.  If I've 
misunderstood the linkage rule then I'm sorry.

regards,

   Richard


More information about the lambda-dev mailing list