Defender Extension Methods -- Resolution and Invoccation

Rémi Forax forax at univ-mlv.fr
Thu Aug 5 02:32:13 PDT 2010


Le 05/08/2010 03:35, Neal Gafter a écrit :
> Colin has a good point.  Unless the binary compatibility rules prevent you
> from ever changing a defender method's implementation (which would be
> horrible: the whole point of implementations is that they may be changed),
> the compiler must require the programmer to resolve inheritance of multiple
> defender methods, even when the implementation happens to be identical in
> that particular version of the inherited interfaces.
>    

Implementations may change but that doesn't mean that defaults
may change. The static method implementation can change without
any problem.

If we use defaults to disambiguate, it will be binary incompatible
to change them.

> I still don't see any compelling reasons for the separation.  Brian says
> that this prevents the feature from forcing a paradigm shift on programmers,
> but the separation appears to increase (rather than reduce) the conceptual
> footprint of the feature and therefore the language.
>    

Rémi


More information about the lambda-dev mailing list