Brendan Eich (2013-05-10T19:59:20.000Z)
github at esdiscuss.org (2013-07-12T02:27:20.790Z)
Apologies again, I'm a beat or three behind today. I think you gave the example already: ```scala expr1.flatMap(x => expr2(x).flatMap(y => ... exprN(x, y, ...).map(z => result(x, y, ..., z) ) ) ) ``` Nice when Scala and JS look alike! I don't think we'd make comprehensions return a monad, specifically a Promise, even if we had the silly things (Promises, I mean -- just teasing about monads) in the language. JS is eager and mutational. Although Mark and I have discussed privately trying to get E-like "featureless" promises, which become their fulfillment value, we think it's too big a stretch. Especially in light of existing libraries, but even starting fresh. Without E-like featureless/"becoming" promises, I wouldn't foist them on syntax for eager computations such as comprehensions and generator expressions. So is the explicit functional style, with arrows for sugar, really too much?