Tab Atkins Jr. (2013-05-10T21:14:38.000Z)
github at esdiscuss.org (2013-07-12T02:27:21.313Z)
> I did not intend to start a fight I didn't intend to start a fight either. ^_^ I just wanted to make sure no one was arguing against strawmen. > If you do suggest alternate terminology, don't call #3 "monadic > promises" while at the same time calling #1 "<adjective> monadic promises". > That would make #1 seem like a subtype of #3. Either prefix both with an > adjective or make them otherwise distinct. I don't think we need to refer to "unabashed monadic promises" (your #1) at all - nobody's seriously defending them, and they're far from Promises/A+. It's trivial to add `map()` and `flatMap()` to promises if you want them, but `.then()` functions as a perfectly fine `flatMap()` already if you maintain type discipline yourself. The only serious proposals seem to be "Q-like promises", which explicitly prevent nested promises by auto-flattening when necessary, and "monadic promises", which allow nested promises if you explicitly ask for it (but the flattening semantics ensure that it's hard to accidentally fall into a nested case).