@@ -219,35 +219,32 @@ implementations.
219219
220220## Data Collections
221221
222- A data collection is a finite, iterable aggregation of elements whose iteration
223- order is not necessarily stable. This specification describes the semantic
224- properties of data collections using types like "list", "set" and "map". These
225- describe observable data collections, such as the result of applying a grammar
226- and the inputs and outputs of algorithms. They also describe unobservable data
227- collections such as temporary data internal to an algorithm. Each data
228- collection type defines the operations available, and whether values are unique
229- or ordered.
222+ Algorithms within this specification refer to specific data collection types.
223+ Temporary data internal to an algorithm serves to best describe expected
224+ behavior. Data observed from a service adhering to this specification must
225+ behave according to the uniqueness and iteration order expectations of those
226+ data types.
230227
231228** List**
232229
233- :: The term _ list_ describes a sequence of zero or more values, which may
234- contain duplicates. Currently, all lists in this specification are ordered, but
235- for clarity the term "ordered list" may be used when an order is semantically
236- important.
230+ :: The term _ list_ describes an ordered collection of values which may contain
231+ duplicates. A value added to a list is ordered after existing values.
237232
238233** Set**
239234
240- :: The term _ set_ describes a collection of zero or more values, which may not
241- contain duplicates. Each value is considered a "member" of the set. A set is
242- unordered unless explicitly stated otherwise (as an "ordered set"). For clarity,
243- the term "unordered set" may be used when the lack of an order is semantically
244- important.
235+ :: The term _ set_ describes a collection of values which must not contain
236+ duplicates.
237+
238+ :: The term _ ordered set_ describes a set which has a defined order. A value
239+ added to an ordered set, which does not already contain that value, is ordered
240+ after existing values.
245241
246242** Map**
247243
248- :: The term _ map_ describes a collection where each element is a pair (called an
249- "entry") consisting of a key and a value. Keys are unique: no two entries with
250- the same key may exist in the same map, but values may repeat. A map is
251- unordered unless explicitly stated otherwise (as an "ordered map"). For clarity,
252- the term "unordered map" may be used when the lack of an order is semantically
253- important.
244+ :: The term _ map_ describes a collection of entries, each of which has a key and
245+ value. Entry keys are unique, no two entries have the same key. Each map entry
246+ can be directly referenced by its key.
247+
248+ :: The term _ ordered map_ describes a map which has a defined order. An entry
249+ added to an ordered map, which does not have an entry with that key, is ordered
250+ after existing values.
0 commit comments