[heycam/webidl] Clarifications to dictionary semantics (#859)

This rewrites some of the text around dictionaries to clear up the confusion in #852, as well as generally try to smooth out the reading experience and definitions. Concrete changes:

* Rewrote "dictionaries are always passed by value" to be more specific and clear.
* Moved "dictionaries must not be used as the type of an attribute or constant" near the top of the dictionary section, commensurate with its importance.
* Removed the terms "present" and "not present"; instead we can use Infra's "exists" for maps.
* Fixed several cases where the overload resolution algorithm discussed arguments being "not present", even though that was only defined for dictionaries. Instead it now correctly talks about "missing".
* Rewrote the discussion of required dictionary members and dictionary members with default values to make it clear how they contribute to the dictionary's entries.
* Added a note to the IDL-to-ES conversion algorithm for dictionaries explicitly pointing out that default-value dictionary members will always be present, and thus always show up in the output.

Closes #852.
You can view, comment on, or merge this pull request online at:

  https://github.com/heycam/webidl/pull/859

-- Commit Summary --

  * Clarifications to dictionary semantics

-- File Changes --

    M index.bs (108)

-- Patch Links --

https://github.com/heycam/webidl/pull/859.patch
https://github.com/heycam/webidl/pull/859.diff

-- 
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/pull/859

Received on Wednesday, 18 March 2020 21:04:05 UTC