Transparancy

Neal Gafter neal at gafter.com
Wed Jul 7 11:40:15 PDT 2010


On Wed, Jul 7, 2010 at 11:26 AM, Brian Goetz <brian.goetz at oracle.com> wrote:

> Using "return" now complicates our ability to provide nonlocal
> control flow in the future.
>

The goal isn't nonlocal return so much as control transparency.  Using
"return" now complicates our ability to provide control transparency in the
future.  Using "yield" now complicates our ability to provide control
transparency in the future.

 > As is well known, I believe strongly that 'this' should be lexically
> > scoped. Its just so much the standard for closures in other languages
> > that IMO it is quite amazing that anything else is actually being
> > considered.
>
> If you were designing a language from scratch, you would almost certainly
> take
> that path.  But adding features to a mature language like Java without
> breaking either compatibility or the mental model of the 12M existing users
> requires taking into account all the decisions that have been made so far,
> and
> often leads you to places that you would never get if you started with a
> blank
> sheet of paper.
>

By definition, one does not add language features to a "mature" language.

The result of language extension should be a language that is coherent.  The
kinds of compromises you appear to be making undermine that.


More information about the lambda-dev mailing list