On May 11, 2011, at 11:26 AM, Jorge wrote:

> On 11/05/2011, at 18:53, Brendan Eich wrote:
> 
>> (...)
>> 
>> 3c. The use of {| (possibly with space in between) is an unambiguous 
>> extension, but formal parameters inside |...| delimiters creates a problem 
>> for http://wiki.ecmascript.org/doku.php?id=harmony:parameter_default_values. 
>> We would need the default value expression to be parenthesized if its 
>> precedence were | (bitwise-or) or looser.
> 
> I don't think it's a problem, after all that's what parenthesis are for.

No, formal parameter list delimiting is what parentheses in function-like 
*declarations and expression* are for. In JS.

More below, but confirmation bias or assuming the Ruby conclusion seems a real 
problem in evaluating this idea _qua_ JS.


>> Other than these, AFAICT blocks as lambdas offering shorter function-like 
>> syntax are pretty good.
> 
> Yes, [ ... ].forEach( {| v, i, o | ... } ) would be awesome, and {| n | while 
> (n--) buffer[n]= 0 }( buffer.length ) is even beautiful.

It's not bad but the || are a bit odd for JS. Not for Ruby, for JS.


>> Should we reconsider them?
> 
> Yes. Ruby's blocks, pure win. :-)

You skipped 3b.

Rubyists should view their pre-existing knowledge and experience through a 
skeptical lens. Pretend you're new to JS and you don't know Ruby (or 
Smalltalk). You do know languages with statements, including things like break, 
continue, and return.

/be

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to