Editorial: Defining each kind of built-in exotic in one place
Most kinds of built-in exotic object are defined in two places:
- a section within 10.4 that gives the internal methods/slots, and
- a section within 20-28 that defines intrinsics (constructor, prototype, methods, properties).
Is this separation useful? Maybe it would be better if, for each kind of built-in exotic, the two sections were brought together. (They'd still be separate, but they'd be adjacent under a single heading.)
Specifically, we could move:
-
10.4.5 Integer-Indexed Exotic Objects into 23.2 TypedArray Objects
-
10.4.6 Module Namespace Exotic Objects into 28.3 Module Namespace Objects
-
10.5 Proxy Object Internal Methods and Internal Slots into 28.2 Proxy Objects
and possibly:
Sounds good to the editors. I would replace 10.4 with a section which lists and links to all of the places where exotics are defined in the spec, and mention in that section that the list is not exhaustive because hosts can add other kinds.