function hoisting like var

YR Chen maian330 at
Wed Aug 6 19:13:53 PDT 2008

It's not that your code is convoluted (although it is), it's that the added
complexity to parse {{...}}, backwards incompatibility of that syntax (code
generators), and the questionable aesthetics (it really is subjective) just
make it infeasible. All just to provide a hoisted-let-like functionality.
Plus, it's a dead horse that's been beaten one too many times :)

I would like ES3.x to support let functionality, but I'd rather ES3.x just
implement let statements/declarations, rather than {{...}}. I think others
would agree with me here.

I also prefer Igor's proposal more than {{...}}. And even if you solve
problematic continuations (return/continue/break), I would like them to be
generalized into first-class blocks.

-Yuh-Ruey Chen

On Wed, Aug 6, 2008 at 3:30 PM, Ingvar von Schoultz <ingvar-v-s at>wrote:

> Yuh-Ruey Chen wrote:
>> FWIW, I definitely like this proposal more than any convoluted var-scoping
>> block proposal.
>> I just don't see the value of adding var-scoping blocks for the added
>> parser complexity, and problematic return/break/continue.
> Unfortunately it seems people dislike the notation too much.
> But the complexity that you discuss must be supported anyway.
> Regardless whether it's written {let} or {{var}}, they both
> say the same thing, and what they say is supported in ES4.
> My code looks convoluted only because it's an odd trick.
> Not only does it add {let} functionality to ES3.1, it also
> strives very hard to make the tiniest possible change.
> That tiny code is also conclusive proof that {{var}} is
> extremely simple and has no capture problems, despite many
> vague claims to the contrary.
> Unfortunately it seems people dislike the notation so much,
> they prefer having no {let} functionality at all in ES3.1.
> --
> Ingvar von Schoultz
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Es4-discuss mailing list