You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h6 data-source="spec/GraphQL.md#L82"><a href="#sec-Conforming-Algorithms" title="link to this subsection">Conforming Algorithms</a></h6>
64
64
<p data-source="spec/GraphQL.md#L84-L89">Algorithm steps phrased in imperative grammar (e.g. “Return the result of calling resolver”) are to be interpreted with the same level of requirement as the algorithm it is contained within. Any algorithm referenced within an algorithm step (e.g. “Let completedResult be the result of calling CompleteValue()”) is to be interpreted as having at least the same level of requirement as the algorithm containing that step.</p>
65
-
<p data-source="spec/GraphQL.md#L91-L95">Conformance requirements expressed as algorithms can be fulfilled by an implementation of this specification in any way as long as the perceived result is equivalent. Algorithms described in this document are written to be easy to understand. Implementers are encouraged to include equivalent but optimized implementations.</p>
66
-
<p data-source="spec/GraphQL.md#L97-L98">See <a href="#sec-Appendix-Notation-Conventions">Appendix A</a> for more details about the definition of algorithms and other notational conventions used in this document.</p>
65
+
<p data-source="spec/GraphQL.md#L91-L95">Conformance requirements expressed as algorithms and data collections can be fulfilled by an implementation of this specification in any way as long as the perceived result is equivalent. Algorithms described in this document are written to be easy to understand. Implementers are encouraged to include equivalent but optimized implementations.</p>
66
+
<p data-source="spec/GraphQL.md#L97-L99">See <a href="#sec-Appendix-Notation-Conventions">Appendix A</a> for more details about the definition of algorithms, data collections, and other notational conventions used in this document.</p>
<h6 data-source="spec/GraphQL.md#L100"><a href="#sec-Non-Normative-Portions" title="link to this subsection">Non-Normative Portions</a></h6>
70
-
<p data-source="spec/GraphQL.md#L102-L103">All contents of this document are normative except portions explicitly declared as non-normative.</p>
71
-
<p data-source="spec/GraphQL.md#L105-L108">Examples in this document are non-normative, and are presented to aid understanding of introduced concepts and the behavior of normative portions of the specification. Examples are either introduced explicitly in prose (e.g. “for example”) or are set apart in example or counter-example blocks, like this:</p>
72
-
<pre id="example-fed99" class="spec-example" data-source="spec/GraphQL.md#L110-L112"><a href="#example-fed99">Example № 1</a><code>This is an example of a non-normative example.
69
+
<h6 data-source="spec/GraphQL.md#L101"><a href="#sec-Non-Normative-Portions" title="link to this subsection">Non-Normative Portions</a></h6>
70
+
<p data-source="spec/GraphQL.md#L103-L104">All contents of this document are normative except portions explicitly declared as non-normative.</p>
71
+
<p data-source="spec/GraphQL.md#L106-L109">Examples in this document are non-normative, and are presented to aid understanding of introduced concepts and the behavior of normative portions of the specification. Examples are either introduced explicitly in prose (e.g. “for example”) or are set apart in example or counter-example blocks, like this:</p>
72
+
<pre id="example-fed99" class="spec-example" data-source="spec/GraphQL.md#L111-L113"><a href="#example-fed99">Example № 1</a><code>This is an example of a non-normative example.
73
73
</code></pre>
74
-
<pre id="example-881bd" class="spec-counter-example" data-source="spec/GraphQL.md#L114-L116"><a href="#example-881bd">Counter Example № 2</a><code>This is an example of a non-normative counter-example.
74
+
<pre id="example-881bd" class="spec-counter-example" data-source="spec/GraphQL.md#L115-L117"><a href="#example-881bd">Counter Example № 2</a><code>This is an example of a non-normative counter-example.
75
75
</code></pre>
76
-
<p data-source="spec/GraphQL.md#L118-L121">Notes in this document are non-normative, and are presented to clarify intent, draw attention to potential edge-cases and pit-falls, and answer common questions that arise during implementation. Notes are either introduced explicitly in prose (e.g. “Note: “) or are set apart in a note block, like this:</p>
<p data-source="spec/GraphQL.md#L119-L122">Notes in this document are non-normative, and are presented to clarify intent, draw attention to potential edge-cases and pit-falls, and answer common questions that arise during implementation. Notes are either introduced explicitly in prose (e.g. “Note: “) or are set apart in a note block, like this:</p>
Algorithms described in this document are written to be easy to understand. Implementers are encouraged to include equivalent but optimized implementations. </div>
Algorithms described in this document are written to be easy to understand. Implementers are encouraged to include observably equivalent but optimized implementations.</div>
6445
+
</section>
6446
+
<section id="sec-Data-Collections" secid="A.6">
6447
+
<h2 data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L220"><span class="spec-secid" title="link to this section"><a href="#sec-Data-Collections">A.6</a></span>Data Collections</h2>
6448
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L222-L227">Algorithms within this specification refer to abstract data collection types to express normative structural, uniqueness, and ordering requirements. Temporary data collections internal to an algorithm use these types to best describe expected behavior, but implementers are encouraged to provide observably equivalent but optimized implementations. Implementations may use any data structure as long as the expected requirements are met.</p>
<h6 data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L229"><a href="#sec-Data-Collections.List" title="link to this subsection">List</a></h6>
6451
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L231-L232">A <dfn id="list"><a href="#list" data-name="list">list</a></dfn> is an ordered collection of values which may contain duplicates. A value added to a list is ordered after existing values.</p>
<h6 data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L234"><a href="#sec-Data-Collections.Set" title="link to this subsection">Set</a></h6>
6455
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L236">A <dfn id="set"><a href="#set" data-name="set">set</a></dfn> is a collection of values which must not contain duplicates.</p>
6456
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L238-L240">An <dfn id="ordered-set"><a href="#ordered-set" data-name="ordered-set">ordered set</a></dfn> is a set which has a defined order. A value added to an ordered set, which does not already contain that value, is ordered after existing values.</p>
<h6 data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L242"><a href="#sec-Data-Collections.Map" title="link to this subsection">Map</a></h6>
6460
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L244-L245">A <dfn id="map"><a href="#map" data-name="map">map</a></dfn> is a collection of entries, each of which has a key and value. Each entry has a unique key, and can be directly referenced by that key.</p>
6461
+
<p data-source="spec/Appendix%20A%20--%20Notation%20Conventions.md#L247-L250">An <dfn id="ordered-map"><a href="#ordered-map" data-name="ordered-map">ordered map</a></dfn> is a map which has a defined order. An entry added to an ordered map, which does not have an entry with that key, is ordered after existing entries. </p>
0 commit comments