> On Feb 16, 2017, at 9:50 PM, Xiaodi Wu via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> As Stage 2 of Swift 4 evolution starts now, I'd like to share a revised 
> proposal in draft form.
> 
> It proposes a source-breaking change for rationalizing which characters are 
> permitted in identifiers and which in operators. It's justified for this 
> phase of Swift 4 because:
> 
> - Existing grammar, in permitting invisible characters without 
> security-minded restrictions, can be actively harmful.
> - A rationalized approach is superior to the current approach: by referencing 
> Unicode standards, Swift should be able to evolve in a backwards-compatible 
> way alongside Unicode, and will benefit from the significant expertise of 
> others outside the Swift community with respect to Unicode best practices.
> - The vast majority of existing code (including all of the standard library) 
> should require no migration work at all
> 
> What's changed since the last time:
> 
> - In an earlier draft, we proposed some radical changes to align with 
> available Unicode standards; in particular, since emoji represent a difficult 
> issue, and no recommendations about "operator identifiers" have surfaced from 
> Unicode, we proposed temporarily stripping them out. This was very poorly 
> received. This revision uses Unicode categories to identify nearly all emoji 
> and classify them as identifier characters (while excluding those that depict 
> operators such as !), and it uses Unicode categories to identify over 900 
> operators that nearly all pass the subjective test of "operator-likeness."
> 
> 

I was one of the people leading the charge for preserving Emoji support and I 
really like where this proposal landed. Thank you to all the authors for the 
hard work!


+1


Russ

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to