Re: Allen's lambda syntax proposal

2008-12-08 Thread Yuh-Ruey Chen
Breton Slivka wrote: On Sat, Dec 6, 2008 at 9:57 AM, Michael Day [EMAIL PROTECTED] wrote: (1) Expression lambdas: lambdas whose body is an expression. var x = lambda(y, z) y + z Solves the problem with completion leakage, solves the nested return/break/continue issue. However, quite

Re: Semantics and abstract syntax of lambdas

2008-12-08 Thread Yuh-Ruey Chen
Jon Zeppieri wrote: The only problem with the proto-proposal to limit lambda bodies to expressions (which is otherwise a good idea) is that the ES expression sub-language isn't powerful enough. The ternary expression is awful for conditionals more complex than if a then b else c. Without a

Re: Proposal: Modify automatic semicolon insertion in strict mode

2008-12-08 Thread Eric Suen
Yuh-Ruey Chen wrote: Eric Suen wrote: Your proposal make nosense to me, first, I not sure what is your strict mode means, because in strict mode there is no automatic semicolon insertion. No, semicolon insertion occurs also in strict mode. Perhaps it shouldn't. Oops, I got this from:

Re: Proposal: Modify automatic semicolon insertion in strict mode

2008-12-08 Thread David-Sarah Hopwood
Brendan Eich wrote: On Dec 7, 2008, at 9:53 PM, David-Sarah Hopwood wrote: No, semicolon insertion occurs also in strict mode. Perhaps it shouldn't. TC39 already agreed it should, for ES3.1. Strict mode has enough migration-tax that we do not want to risk making it unused in practice due to

Re: Allen's lambda syntax proposal

2008-12-08 Thread David-Sarah Hopwood
Yuh-Ruey Chen wrote: Breton Slivka wrote: On Sat, Dec 6, 2008 at 9:57 AM, Michael Day [EMAIL PROTECTED] wrote: (1) Expression lambdas: lambdas whose body is an expression. var x = lambda(y, z) y + z Solves the problem with completion leakage, solves the nested return/break/continue issue.

Re: Proposal: Modify automatic semicolon insertion in strict mode

2008-12-08 Thread Brendan Eich
On Dec 8, 2008, at 9:48 PM, David-Sarah Hopwood wrote: Why? That would only happen if you added use strict; to a program fragment without testing that the resulting program still parses correctly, Parses and executes over all paths correctly, you must mean. which is an obviously silly