<html><body><div><br></div><div><br>Am 30. März 2016 um 17:48 schrieb Dave Abrahams &lt;dabrahams@apple.com&gt;:<br><br><div><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content"><br>on Wed Mar 30 2016, Thorsten Seitz &lt;tseitz42-AT-icloud.com&gt; wrote:<br><br><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">Am 30.03.2016 um 16:49 schrieb Dave Abrahams &lt;dabrahams@apple.com&gt;:</blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><br></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">on Wed Mar 30 2016, Thorsten Seitz &lt;tseitz42-AT-icloud.com&gt; wrote:</blockquote></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><br></blockquote></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">That's certainly an improvement, but why "formIntersection" instead of</blockquote></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">"intersect" (in analogy to "subtract")?</blockquote></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text"><br></blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">1. Consistency with union, which is more closely related than subtract.</blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">I'd prefer consistency with the verb rule here</blockquote><br>Which rule is that? As far as I can tell, this is consistent with all<br>the rules.</span></div></div></blockquote></div><div><span><br data-mce-bogus="1"></span></div><div><span>"Those with side-effects should read as imperative verb phrases"</span></div><div><span><br data-mce-bogus="1"></span></div><div><span>I expect a common verb to be chosen over an awkward, constructed one, although I have to admit that the verb "intersect" is used only very seldom if at all in set theory or geometry.<br data-mce-bogus="1"></span></div><div><span>Therefore you might have a point with "intersect" having the wrong implication, but see below.<br></span></div><div><span><br data-mce-bogus="1"></span></div><div><span><br></span><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content"><br><blockquote type="cite" class="quoted-plain-text">(using formXXX only as last resort).</blockquote><br>Though I prefer not to, you can look at this as a last resort if you<br>like; the alternative you're proposing has the wrong implication, so it<br>is not a candidate. It would be like using “remainder” as a verb for<br>integers. Yes, it's a legitimate verb, but it means the wrong thing<br>(see retail).<br><br><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">2. "Intersect" actually has the wrong meaning as an imperative. If you</blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">tell set A to intersect set B, and then ask whether A intersects B</blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><blockquote type="cite" class="quoted-plain-text">(!A.isDisjoint(with: B)), you would expect an answer of true.</blockquote></blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">Sorry, but I do not agree. With that reasoning I would have to expect</blockquote><blockquote type="cite" class="quoted-plain-text">a.intersection(b) to be not empty.</blockquote><br>Yes, that's exactly what I'm saying. If you tell A to intersect B,<br>presumably when the call completes, A intersects B (i.e. has a non-empty<br>intersection). That would imply an implementation like, e.g.</span></div></div></blockquote></div><div><span><br data-mce-bogus="1"></span></div><div><span>With a.intersection(b) I meant to extend your reasoning to the non-mutating method. </span></div><div><span>You surely do not expect the intersection of a and b to be non-empty when calling the non-mutating method? Then why should you expect that in the mutating case?<br></span></div><div><span>Is it because the noun implies a current state whereas the verb should be read as a command demanding to create a certain state? (I'm not a native speaker, so please bear with me)<br data-mce-bogus="1"></span></div><div><span></span><br></div><div><span>-Thorsten<br data-mce-bogus="1"></span></div><div><span><br data-mce-bogus="1"></span></div></div></body></html>