<div dir="ltr">I strongly oppose the proposed mass-removal of operator characters. It would be a major loss to the Swift language if that were to occur even temporarily.<div><br></div><div>The long-term goal is for Swift to adopt the official Unicode guidance for operator characters, which is still under development. Therefore I believe we should make only minor and obvious changes right now, because there is no sense in “jumping the gun” and causing unnecessary source-breaking changes.</div><div><br></div><div>In particular, we should make it clear that Swift will most likely adopt the Unicode operator conventions when they become available, so people are aware and prepared.</div><div><br></div><div>When the time comes, we should deprecate any operator characters that Unicode recommends against (unless we have a good reason not to), before removing them in the next major release. The deprecation period ensures that source-breaking changes result in a warning at first, so developers have time to adapt.</div><div><br></div><div>I just went through all the valid operator characters in Swift, and the only ones I would recommend to eliminate at this time are:</div><div>U+2800 – U+28FF (Braille patterns)</div><div>U+3021 – U+3029 (Hangzhou numerals)<br></div><div>U+2205 and U+221E (Empty set and Infinity)</div><div><br></div><div>Additionally, I propose to *add* one operator that is missing:</div><div>U+214B (Turned ampersand)</div><div><br></div><div style="text-align:center">• • •</div><div><br></div><div>As for the rest of the proposal, I suppose normalizing identifiers and dealing with confusable characters in a sensible way.</div><div><br></div><div>Regarding emoji, I look at them rather like the “I’m feeling lucky” button on Google—essentially nobody uses it, but when they tried getting rid of it people didn’t like the result. So I agree with Brent about that we should keep them for cultural, not technical, reasons.</div><div><br></div><div style="text-align:center">• • •</div><div><br></div><div>Returning to the discussion of operators, I am reminded of what happened when we eliminated argument labels from functions passed as parameters. The intent was and still is to reinstate them in a more robust manner.</div><div><br></div><div>However, during the interim the result has been a regression that goes against the core tenets and philosophy of Swift. I would not want to repeat that while waiting for official Unicode operator guidelines.</div><div><br></div><div>So I am strongly—adamantly—opposed to the operator-eviscerating portion of this proposal.</div><div><br></div><div>We should make Braille characters, Hangzhou numerals, the empty set and the infinity sign into identifiers. All other operators should remain as they are until official Unicode recommendations exist, at which point we should deprecate as necessary.</div><div><br></div><div>Nevin</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 19, 2016 at 5:53 PM, Matthew Johnson 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"><span class=""><div><blockquote type="cite"><div dir="ltr"><br><div><br></div><div><div class="gmail_extra"><div class="gmail_quote"><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>IMO, the best argument against using unicode symbols for operators defined by mathematics is that they are currently difficult to type.</div></div></blockquote><div><br></div><div>And there is no realistic hope of that changing. This issue is so compelling that C and C++ introduced standardized text-ascii alternatives for the punctuation operators to relieve stress on non-english keyboard users.</div></div></div></div></div></blockquote><br></div></span><div>I don’t agree that there is no realistic hope of that changing.  It appears to be pretty reasonable to anticipate that we’ll all be using software-driven keyboards that can display software-defined symbols on the keys in the relatively near future (probably 5 years, certainly 10).  All kinds of interesting things become possible when that happens, including the ability to make unicode operators much easier to discover and type in a programmer’s editor.</div><br></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>