[heycam/webidl] Dictionary members' "present" definition seems circular (#381)

[2.4 Dictionaries](https://heycam.github.io/webidl/#dfn-inherited-dictionaries) sets up a *dictionary* internally as an [ordered map](https://infra.spec.whatwg.org/#ordered-map) of [entries](https://infra.spec.whatwg.org/#map-entry).

So shouldn't the definition of [present](https://heycam.github.io/webidl/#dfn-present) be based on [exists](https://infra.spec.whatwg.org/#map-exists)?

The current definition seems circular: *"A dictionary value of type D can have key–value pairs corresponding to the dictionary members defined on D and on any of D’s inherited dictionaries. On a given dictionary value, the presence of each dictionary member is optional, unless that member is specified as required. When specified in the dictionary value, a dictionary member is said to be* ***present***, *otherwise it is* ***not present***."

It uses *"presence"* ahead of defining **present**, and the word *"specified"* sounds like we're trying to avoid saying "present" again, but I think it's the wrong word, as presence doesn't seem to rely on specification. Chicken and egg.

The **present** definition seems used both on input and output:

1. "In the ECMAScript binding, a value of undefined is treated as not present,"
2. "If the dictionary member named key is present in V, then:"


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/issues/381

Received on Saturday, 15 July 2017 14:07:00 UTC