<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Sep 7, 2011, at 1:26 PM, Rick Waldron wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><font class="Apple-style-span" face="arial, helvetica, sans-serif">How, if at all, will generator function* (asterisk notation) be symmetrically applicable to arrow function or block lamba syntax? <br></font></blockquote><div><br></div><div>Arrows could be used to express or define (see the let and const binding shorthands) generator functions:</div><div><br></div><div>let *gen() -> yield 42;</div><div><br></div><div>foo(*(a, b) -> { yield a; yield b; }); // pass a generator as a downward funarg</div><div><br></div><div>Note how * is lexed depending on parser state, akin to / in ES3+ -- if in operator position  * and / are the multiply and divide operators, if in operand position they're special forms: * must be followed by (...) or -> or => as part of a generator arrow; / of course would be the initial delimiter of a regexp.</div><div><br></div><div>Block-lambdas are not "just syntax" for functions, so there is no goal or requirement that they be able to express generators, any more that they be able to express constructors (|this| is lexical always in a block-lambda). This is yet more win for block-lambdas over arrows in my view.</div><div><br></div><div>/be</div><div><br></div></div><div><br><blockquote type="cite"><div><br></div>

<div>References</div><div> </div><div>Generators: <a href="http://wiki.ecmascript.org/doku.php?id=harmony:generators">http://wiki.ecmascript.org/doku.php?id=harmony:generators</a></div><div>Arrow Functions: <a href="http://wiki.ecmascript.org/doku.php?id=strawman:arrow_function_syntax">http://wiki.ecmascript.org/doku.php?id=strawman:arrow_function_syntax</a></div>

<div>Block Lambda: <a href="http://wiki.ecmascript.org/doku.php?id=strawman:block_lambda_revival">http://wiki.ecmascript.org/doku.php?id=strawman:block_lambda_revival</a></div>
_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>https://mail.mozilla.org/listinfo/es-discuss<br></blockquote></div><br></body></html>