<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 26, 2010, at 1:06 AM, Cameron McCormack wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><blockquote type="cite"><br></blockquote><br>I think having the braces on the outside would help with the<br>aforementioned problem. &nbsp;The vertical bars don’t particularly grab me<br>(not being a Rubyist), but this does:<br><br> &nbsp;[0, 1, 2, 3].map({ x =&gt; x * x }); // optionally { (x) =&gt; x * x }?<br></div></blockquote><div><blockquote type="cite"><div><br></div></blockquote></div><blockquote type="cite"><div> &nbsp;function mapPairs(o, f) {<br> &nbsp;&nbsp;&nbsp;for (var p in o) {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f(p, o[p]);<br> &nbsp;&nbsp;&nbsp;}<br> &nbsp;}<br><br> &nbsp;mapPairs(someObject, { (a, b) =&gt; a + '=' + b) });<br><br>(Sorry for adding more options to the discussion — quick rebuttals as to<br>why the above wouldn’t work welcome.)<font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#144FAE"><br></font></font></div></blockquote><br></div><div>If you allow multiple arguments with this syntax, either with or without parens, you're back to unbounded lookahead required for an LL parser.</div><div><br></div><div>Regards,</div><div>Maciej</div><div><br></div></body></html>