<div dir="ltr">Is this really correct? Character and UnicodeScalar are not synonyms. The Character type represents a character made up of one or more Unicode scalars (i.e. an extended grapheme cluster). Is a CharacterSet a set of Unicode-compliant characters that happens to be restricted to those characters each made up of only a single Unicode scalar, or is it meant to be a set of Unicode scalars? My read of the Foundation documentation is that it is the former.<div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 28, 2016 at 4:27 PM, Erica Sadun via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Chris: &quot;<span style="font-family:Palatino-Roman"><i>Also, it is worth saying that any source breaking change still has to have an </i></span></div><div><span style="font-family:Palatino-Roman"><i>ultra-compelling reason to be worth considering.  Despite having a framework to </i></span></div><div><span style="font-family:Palatino-Roman"><i>support some source breaking changes, we still want to minimize them where </i></span></div><div><span style="font-family:Palatino-Roman"><i>ever possible.</i>&quot;</span></div><div><br></div><div>Since it seems to be open season on introducing a few, highly focused</div><div>breaking changes, let me throw this one out there.</div><div><br></div><div><b>Pitch: Renaming CharacterSet to UnicodeScalarSet</b></div><div><br></div><div>In Swift, String is defined as &quot;a Unicode string value.&quot; and a &quot;CharacterSet&quot; </div><div>represents a set of Unicode-compliant characters.</div><div><br></div><div>A CharacterSet&#39;s initializers are:</div><div><div><ul><li>init()</li><li>init&lt;S&gt;(S)</li><li>init(arrayLiteral: UnicodeScalar...)</li><li>init(bitmapRepresentation: Data)</li><li>init(charactersIn: ClosedRange&lt;UnicodeScalar&gt;)</li><li>init(charactersIn: String)</li><li>init(charactersIn: Range&lt;UnicodeScalar&gt;)</li><li>init?(contentsOfFile: String)</li></ul></div><div><br></div></div><div>Why not rename `CharacterSet` to `UnicodeScalarSe`t, and update the initializers</div><div>to reflect they&#39;re being initialized from the unicode scalars in strings and ranges?</div><div>I think the few places where the word `character` is left mentioned (in convenience</div><div>properties) can be better named from `punctuationCharacters` to `punctuation`, </div><div>`controlCharacters` to `controlAndFormat`, etc.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- E</div></font></span></div><br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div></div>