promises-aplus/promises-spec — pull request #104 by domenic (2013-04-20 21:10:37+00:00)
Title: Rephrase next-event-loop-turn requirement.

This fixes #100, by explicitly calling out the concept of an event loop. It also explicitly mentions the micro-turn vs. macro-turn distinction @erights discussed in https://github.com/promises-aplus/promises-spec/issues/84#issuecomment-15694567.

See #70 for an earlier attempt, that used the concept of the function execution stack instead of explicitly talking about event loops.

---

I am not 100% sure this is the way to go, but it seems like the path of least resistance. I'd love if people threw out alternatives. Maybe the best I have is

> `onFulfilled` or `onRejected` may only be called when the function execution stack is empty of user code [1].

with [1] explaining what "user code" means, e.g. promise implementation code and [native code] or Node.js platform code is not user code, but all other things are.