<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Jul 7, 2016, at 9:23 AM, Dmitri Gribenko via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><div class=""><div dir="ltr" class="">> Proposal link:<br class="">><br class="">> <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md</a><br class=""><br class="">Dave, Max and I discussed SE-0077 and reviewed the names of precedence groups.<br class="">Here's our recommendation.<br class=""><br class="">In general, we think some names don't read well and have some ambiguities, for<br class="">example, "LogicalAndPrecedence" (looks like a conjunction),<br class="">"AdditivePrecedence" ("additive" is an adjective that modifies "precedence"),<br class="">"RangePrecedence" ("range" is not an adjective, stands out).<br class=""><br class="">We think that two directions would be fruitful:<br class=""><br class="">1. If the names of precedence groups will be in the same namespace as types,<br class=""> then we recommend pushing the names of precedence groups into a "namespace",<br class=""> for example "Precedence.Assignment".<br class=""></div></div></blockquote><div><br class=""></div>We don't have any language features that would allow this.</div><div><br class=""></div><div>John.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><br class="">2. If (1) is not workable, we suggest incrementally improving existing names<br class=""> to make them more readable and less ambiguous. We think that making the<br class=""> names less technical by naming the groups after a representative operation<br class=""> will be easier for users to understand (instead of "AdditivePrecence" we<br class=""> are proposing "AdditionPrecedence"). We also think that using an adjective<br class=""> before "Precedence" does not read well in many cases<br class=""> ("NilCoalescingPrecedence": precedence that coalesces nils).<br class=""><br class=""><br class=""><font face="monospace, monospace" class="">Current name | Namespacing | Incremental improvement<br class="">------------------------|-----------------------------|-----------------------------<br class="">AssignmentPrecedence | Precedence.Assignment | no change<br class="">TernaryPrecedence | Precedence.Ternary | no change<br class="">DefaultPrecedence | Precedence.Default | no change<br class="">LogicalOrPrecedence | Precedence.LogicalOr | DisjunctionPrecedence<br class="">LogicalAndPrecedence | Precedence.LogicalAnd | ConjunctionPrecedence<br class="">ComparativePrecedence | Precedence.Comparison | ComparisonPrecedence<br class="">NilCoalescingPrecedence | Precedence.NilCoalescing | no change<br class="">CastPrecedence | Precedence.Casting | no change<br class="">RangePrecedence | Precedence.RangeForming | RangeFormationPrecedence<br class="">AdditivePrecedence | Precedence.Addition | AdditionPrecedence<br class="">MultiplicativePrecedence| Precedence.Multiplication | MultiplicationPrecedence<br class="">BitwiseShiftPrecedence | Precedence.BitwiseShift | BitwiseShiftPrecedence</font><br class=""><br class="">Dmitri<br class=""><br class="">-- <br class="">main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if<br class="">(j){printf("%d\n",i);}}} /*Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com" class="">gribozavr@gmail.com</a>>*/</div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>