<div dir="ltr">&gt; Proposal link:<br>&gt;<br>&gt; <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md">https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md</a><br><br>Dave, Max and I discussed SE-0077 and reviewed the names of precedence groups.<br>Here&#39;s our recommendation.<br><br>In general, we think some names don&#39;t read well and have some ambiguities, for<br>example, &quot;LogicalAndPrecedence&quot; (looks like a conjunction),<br>&quot;AdditivePrecedence&quot; (&quot;additive&quot; is an adjective that modifies &quot;precedence&quot;),<br>&quot;RangePrecedence&quot; (&quot;range&quot; is not an adjective, stands out).<br><br>We think that two directions would be fruitful:<br><br>1.  If the names of precedence groups will be in the same namespace as types,<br>    then we recommend pushing the names of precedence groups into a &quot;namespace&quot;,<br>    for example &quot;Precedence.Assignment&quot;.<br><br>2.  If (1) is not workable, we suggest incrementally improving existing names<br>    to make them more readable and less ambiguous.  We think that making the<br>    names less technical by naming the groups after a representative operation<br>    will be easier for users to understand (instead of &quot;AdditivePrecence&quot; we<br>    are proposing &quot;AdditionPrecedence&quot;).  We also think that using an adjective<br>    before &quot;Precedence&quot; does not read well in many cases<br>    (&quot;NilCoalescingPrecedence&quot;: precedence that coalesces nils).<br><br><br><font face="monospace, monospace">Current name            | Namespacing                 | Incremental improvement<br>------------------------|-----------------------------|-----------------------------<br>AssignmentPrecedence    | Precedence.Assignment       | no change<br>TernaryPrecedence       | Precedence.Ternary          | no change<br>DefaultPrecedence       | Precedence.Default          | no change<br>LogicalOrPrecedence     | Precedence.LogicalOr        | DisjunctionPrecedence<br>LogicalAndPrecedence    | Precedence.LogicalAnd       | ConjunctionPrecedence<br>ComparativePrecedence   | Precedence.Comparison       | ComparisonPrecedence<br>NilCoalescingPrecedence | Precedence.NilCoalescing    | no change<br>CastPrecedence          | Precedence.Casting          | no change<br>RangePrecedence         | Precedence.RangeForming     | RangeFormationPrecedence<br>AdditivePrecedence      | Precedence.Addition         | AdditionPrecedence<br>MultiplicativePrecedence| Precedence.Multiplication   | MultiplicationPrecedence<br>BitwiseShiftPrecedence  | Precedence.BitwiseShift     | BitwiseShiftPrecedence</font><br><br>Dmitri<br><br>-- <br>main(i,j){for(i=2;;i++){for(j=2;j&lt;i;j++){if(!(i%j)){j=0;break;}}if<br>(j){printf(&quot;%d\n&quot;,i);}}} /*Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>&gt;*/</div>