There exists in the standard library a type `DictionaryLiteral` that deserves 
naming re-consideration before we declare ABI Stability, because it’s 
confusingly misnamed, being neither a Dictionary (it doesn’t provide key-based 
lookup of values) nor a Literal. 

Instead, it’s just an immutable collection of key-value pairs you can create 
_from_ a literal.

I’m canvassing for opinions on what it ought to be called.  Some suggestions so 

 - `AssociationCollection`: Following the term of art from some other 
languages. Slightly obscure-sounding to developers not already familiar. Also 
“association” and “associative” are confusingly similar, which brings back the 
is-this-a-dictionary problem.
 - `KeyValueCollection`: Problematic because key-value comes up in a totally 
different context in Cocoa.
 - `PairCollection`: “Pair” is kinda nondescript.
 - Do nothing. It’s not so bad.

The old name can live on indefinitely via a typealias (which has no ABI 
consequences, so could be retired at a later date once everyone has had plenty 
of time to address the deprecation warnings). Removing it as not carrying its 
weight (and instead using `[(Key,Value)]`, which is basically what it’s a 
wrapper for) is probably off the table for source stability reasons.

Any further thoughts welcome.

swift-evolution mailing list

Reply via email to