{"action":"created","issue":{"url":"https://api.github.com/repos/heycam/webidl/issues/180","repository_url":"https://api.github.com/repos/heycam/webidl","labels_url":"https://api.github.com/repos/heycam/webidl/issues/180/labels{/name}","comments_url":"https://api.github.com/repos/heycam/webidl/issues/180/comments","events_url":"https://api.github.com/repos/heycam/webidl/issues/180/events","html_url":"https://github.com/heycam/webidl/pull/180","id":180200060,"number":180,"title":"Specify open dictionaries.","user":{"login":"jyasskin","id":83420,"avatar_url":"https://avatars.githubusercontent.com/u/83420?v=3","gravatar_id":"","url":"https://api.github.com/users/jyasskin","html_url":"https://github.com/jyasskin","followers_url":"https://api.github.com/users/jyasskin/followers","following_url":"https://api.github.com/users/jyasskin/following{/other_user}","gists_url":"https://api.github.com/users/jyasskin/gists{/gist_id}","starred_url":"https://api.github.com/users/jyasskin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jyasskin/subscriptions","organizations_url":"https://api.github.com/users/jyasskin/orgs","repos_url":"https://api.github.com/users/jyasskin/repos","events_url":"https://api.github.com/users/jyasskin/events{/privacy}","received_events_url":"https://api.github.com/users/jyasskin/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":51,"created_at":"2016-09-30T01:22:30Z","updated_at":"2016-10-18T18:10:12Z","closed_at":"2016-10-17T15:38:35Z","pull_request":{"url":"https://api.github.com/repos/heycam/webidl/pulls/180","html_url":"https://github.com/heycam/webidl/pull/180","diff_url":"https://github.com/heycam/webidl/pull/180.diff","patch_url":"https://github.com/heycam/webidl/pull/180.patch"},"body":"Let me know what you think. Preview at https://rawgit.com/jyasskin/webidl/open-dictionaries/index.html.\n\nI tried to position `dictionary<K, V>` as a dictionary type, but we may need to move some things from https://rawgit.com/jyasskin/webidl/open-dictionaries/index.html#idl-dictionaries to https://rawgit.com/jyasskin/webidl/open-dictionaries/index.html#idl-dictionary to really make that work. \n\nI introduced a [\"mappings\"](https://rawgit.com/jyasskin/webidl/open-dictionaries/index.html#dictionary-mappings) term for the contents of an open dictionary, but I might be able to re-use \"dictionary members\".\n\nI used `<div algorithm>` blocks to get better `<var>` checking, but that also results in boxes around the algorithms, which you might or might not like.\n\n@bzbarsky @tobie @annevk\n\n\n<!--\n    This comment and the below content is programatically generated.\n    You may add a comma-separated list of anchors you'd like a\n    direct link to below (e.g. #idl-serializers, #idl-sequence):\n    \n    Don't remove this comment or modify anything below this line.\n-->\n<hr />\n[Preview](https://rawgit.com/jyasskin/webidl/open-dictionaries/index.html) | [Diff](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Frawgit.com%2Fjyasskin%2Fwebidl%2Fopen-dictionaries%2Findex.html) \n<details><summary>Per Commit Preview &amp; Diffs</summary><code title=\"Specify open dictionaries&period;\">2e084f4</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/2e084f4/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2e084f4%2Findex.html)  _(2016-09-28 23:59)_\n<code title=\"Add the 1-arg dictionary&lt;&gt; form to the grammar&period;\">2008d7f</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/2008d7f/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2008d7f%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2e084f4%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2008d7f%2Findex.html) _(2016-09-30 09:38)_\n<code title=\"Make the grammar LL&lpar;1&rpar;&period;\">2b5f2a8</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/2b5f2a8/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2b5f2a8%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2008d7f%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2b5f2a8%2Findex.html) _(2016-09-30 23:24)_\n<code title=\"Rename dictionary&lt;&gt; to OpenDictionary&lt;&gt;&period;\">3dc8ca9</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/3dc8ca9/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F3dc8ca9%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F2b5f2a8%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F3dc8ca9%2Findex.html) _(2016-09-30 23:29)_\n<code title=\"Remove constraint on OpenDictionary&lt;&gt; value type&period;\">1a8ae76</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/1a8ae76/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F1a8ae76%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F3dc8ca9%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F1a8ae76%2Findex.html) _(2016-09-30 23:35)_\n<code title=\"Undo use of &lt;div algorithm&gt;&period;\">05252bf</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/05252bf/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F05252bf%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F1a8ae76%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F05252bf%2Findex.html) _(2016-09-30 23:44)_\n<code title=\"Interleave type checks with property retrieval&period;\">747ba1e</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/747ba1e/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F747ba1e%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F05252bf%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F747ba1e%2Findex.html) _(2016-09-30 23:58)_\n<code title=\"Convert null and undefined to empty OpenDictionary&lt;&gt;s&period;\">6646a17</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/6646a17/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F6646a17%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F747ba1e%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F6646a17%2Findex.html) _(2016-10-01 00:02)_\n<code title=\"Use ObjectCreate instead of &lcub;&rcub;&period;\">7c5c25a</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/7c5c25a/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F7c5c25a%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F6646a17%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F7c5c25a%2Findex.html) _(2016-10-01 00:05)_\n<code title=\"Use console&period;assert&lpar;&rpar; instead of assert&lpar;&rpar;&period;\">756f55d</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/756f55d/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F756f55d%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F7c5c25a%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F756f55d%2Findex.html) _(2016-10-01 00:06)_\n<code title=\"Improve examples&period;\">399fc10</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/399fc10/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F399fc10%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F756f55d%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F399fc10%2Findex.html) _(2016-10-01 00:17)_\n<code title=\"Make open dictionaries act like dictionaries&period;\">59c34ac</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/59c34ac/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F59c34ac%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F399fc10%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F59c34ac%2Findex.html) _(2016-10-04 01:18)_\n<code title=\"Use &lpar;k&comma; v&rpar; instead of k &rArr; v&period;\">06ca8e2</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/06ca8e2/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F06ca8e2%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F59c34ac%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F06ca8e2%2Findex.html) _(2016-10-04 01:48)_\n<code title=\"Handle lying proxies in OpenDictionary conversion&period;\">84d1bc3</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/84d1bc3/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F84d1bc3%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F06ca8e2%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F84d1bc3%2Findex.html) _(2016-10-04 21:08)_\n<code title=\"Require both arguments to OpenDictionary&lt;&gt;&period;\">0386c5d</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/0386c5d/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F0386c5d%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F84d1bc3%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F0386c5d%2Findex.html) _(2016-10-04 21:20)_\n<code title=\"Rename &quot;open dictionary&quot; to &quot;record&quot;&period;\">fc878b0</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/fc878b0/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffc878b0%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F0386c5d%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffc878b0%2Findex.html) _(2016-10-06 20:30)_\n<code title=\"Interleave enumerability checks with Gets and type conversions&period;\">fe44f9c</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/fe44f9c/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffe44f9c%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffc878b0%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffe44f9c%2Findex.html) _(2016-10-14 18:51)_\n<code title=\"Fix a couple &lt;code&gt;s and unescaped &lt;s&period;\">665d408</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/665d408/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F665d408%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2Ffe44f9c%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F665d408%2Findex.html) _(2016-10-14 18:56)_\n<code title=\"Woot&excl; Down to nits&excl;\">9e22b41</code>: [Preview](https://cdn.rawgit.com/jyasskin/webidl/9e22b41/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F9e22b41%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F665d408%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F9e22b41%2Findex.html) _(2016-10-14 20:07)_\nLatest (<code title=\"Use &laquo;&raquo; to represent a record&apos;s sequence of mappings&period;\">20c46cc</code>): [Preview](https://cdn.rawgit.com/jyasskin/webidl/20c46cc/index.html) | [Diff w/ Head](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fheycam.github.io%2Fwebidl%2F&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F20c46cc%2Findex.html)  | [Diff w/ Previous](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F9e22b41%2Findex.html&doc2=https%3A%2F%2Fcdn.rawgit.com%2Fjyasskin%2Fwebidl%2F20c46cc%2Findex.html) _(2016-10-14 20:29)_</details>"},"comment":{"url":"https://api.github.com/repos/heycam/webidl/issues/comments/254591407","html_url":"https://github.com/heycam/webidl/pull/180#issuecomment-254591407","issue_url":"https://api.github.com/repos/heycam/webidl/issues/180","id":254591407,"user":{"login":"jyasskin","id":83420,"avatar_url":"https://avatars.githubusercontent.com/u/83420?v=3","gravatar_id":"","url":"https://api.github.com/users/jyasskin","html_url":"https://github.com/jyasskin","followers_url":"https://api.github.com/users/jyasskin/followers","following_url":"https://api.github.com/users/jyasskin/following{/other_user}","gists_url":"https://api.github.com/users/jyasskin/gists{/gist_id}","starred_url":"https://api.github.com/users/jyasskin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jyasskin/subscriptions","organizations_url":"https://api.github.com/users/jyasskin/orgs","repos_url":"https://api.github.com/users/jyasskin/repos","events_url":"https://api.github.com/users/jyasskin/events{/privacy}","received_events_url":"https://api.github.com/users/jyasskin/received_events","type":"User","site_admin":false},"created_at":"2016-10-18T18:10:12Z","updated_at":"2016-10-18T18:10:12Z","body":"We could also throw a `TypeError` in the case of a duplicated key, which would allow the implementation to just keep a set of used keys, instead of needing to be able to find the value associated with a previously-used key."}}
{"actor":{"display_login":"jyasskin"}}