Daira Hopwood (2013-12-07T23:11:06.000Z)
domenic at domenicdenicola.com (2013-12-10T01:48:36.881Z)
I was reading the draft specification of an ES6 promise API in https://github.com/domenic/promises-unwrapping/blob/master/README.md, and noticed that the definition of microtasks seems underspecified. I see this has been discussed to some extent in https://github.com/promises-aplus/promises-spec/issues/139. However, it seems to have been implicitly assumed that the execution model is sequential. Given that things called "tasks" in several other languages are executed in parallel, it seems to me that this assumption should be made explicit. That is, it should be explicitly stated that microtasks must be executed to completion sequentially with respect to other code and other microtasks. (Otherwise, there can be data races on accesses to shared locations, which is clearly not desirable or intended.)