On Thu, May 9, 2013 at 11:42 PM, Mike Stay <[email protected]> wrote:

> In Scala, this is desugared into
>   expr1.flatMap(x =>
>     expr2(x).flatMap(y => ...
>       exprN(x, y, ...).map(z =>
>         result(x, y, ..., z)
>       )
>     )
>   )
>

Currently comprehensions use the same protocol as for-of statements, namely
iterators. I think we definitely want them to use the same protocol.

.map() is appealing, but to work with for-of statements, it would have to
support break, continue, and early return, either using exceptions (like
Scala's Breaks) or something new. Part of the appeal of the iterator
protocol is that it doesn't complicate break/continue/return.

Separately, for the list: are arrow-functions lexically transparent to
super and arguments? I hope so! For this kind of desugaring, if nothing
else.

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

Reply via email to