[Accepted] SE-0363: Unicode for String Processing

Hi everyone. The review discussion for SE-0363 Unicode for String Processing, has concluded. The Language Working Group has decided to accept this proposal.

During the review, a question was raised about the choice of grapheme cluster matching as the default; this is a significant departure from most other languages. As explained by Alejandro and Michael, however, this is fundamentally a consequence of Swift's string model, and any other choice of default would be at odds with the semantics of existing operations in Swift.

The documentation of matching semantics should be expanded to provide guidance to authors parsing structured formats that would best be done using unicode scalars or UTF8 instead of grapheme clusters, but the choice of defaults in this proposal are the consistent default semantics for Swift.

Thank you to everyone who participated in the review, and apologies for our tardiness in making this announcement.

Steve Canon, posting on behalf of the review manager and the language workgroup.


It looks like most Unicode property related APIs of CharacterClass is missing from the implementation. What happened?