<div dir="ltr"><div><span style="font-size:12.8px">&gt; While I’m a little apprehensive about the implementation</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">It was simple in the beginning, then two additions were made:</span></div><div><span style="font-size:12.8px">1. Global transitivity checking</span></div><div><span style="font-size:12.8px">2. Precedence relationships that, by transitivity rule, create relationship between two imported groups, is an error (John McCall)</span><br></div><div><br></div><div>I don&#39;t know how to do any of these checks without nxn connectivity table. Is that even possible?</div><div><br></div><div>&gt; Are they in a separate scope from normal names?</div><div>Yes, otherwise Range would be a conflict with standard library structure.</div><div><br></div><div>&gt; Can you qualify them with module names?</div><div>Right now, I guess, no, although that would be nice to have. I agree that this can be discussed later.</div><div><br></div><div>- Anton</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-24 6:14 GMT+03:00 Jordan Rose <span dir="ltr">&lt;<a href="mailto:jordan_rose@apple.com" target="_blank">jordan_rose@apple.com</a>&gt;</span>:<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=""><br><div><blockquote type="cite"><div>On May 23, 2016, at 13:10, Антон Жилин via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><div dir="ltr">@CoreTeam Please, don&#39;t forget to merge pull request with fixes and alternatives from review period.<div><br></div><div>@AnyoneElse Today is (formally) the last day of review. It may be your last chance!</div><div><br></div><div>Apple repo link:</div><div><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0077-operator-precedence.md</a></div><div><br></div><div>My repo with some latest changes:</div><div><a href="https://github.com/Anton3/swift-evolution/blob/master/proposals/0077-operator-precedence.md" target="_blank">https://github.com/Anton3/swift-evolution/blob/master/proposals/0077-operator-precedence.md</a><br></div></div></div></blockquote><br></div></span><div>Thanks for doing this. While I’m a little apprehensive about the implementation, I don’t expect it to be a problem in practice; a DAG is a pretty safe data structure, and the size of the graph (i.e. the number of precedence groups in a program) probably won’t be that big in practice. And it’s so much better than arbitrary precedence numbers.</div><div><br></div><div>To discuss later: what are the naming guidelines for precedence groups? (What part of speech? Why UpperCamelCase?) Are they in a separate scope from normal names? Can you qualify them with module names?</div><div><br></div><div>(Operator declarations in general are weirdly global right now, because they need to be resolvable without doing full lookup work, and because it was easier to implement them that way. So making precedence groups special as well is probably fine, at least for now.)</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Jordan</div></font></span></div></blockquote></div><br></div>