The document compares and contrasts how promises are implemented across different JavaScript environments based on the ECMAScript specification and Promises/A+ standard. It finds inconsistencies in terminology for promise states ("status" vs "state"), results ("value" vs "reason"), and resolution/rejection. It also analyzes how promise reaction records are used and how capabilities and resolving functions work according to the specification.