Personally I like the xxx and xxxed naming, e.g. sort and sorted, and think it should be universally applied, e.g. union and unioned. <div><br></div><div>However that proved unpopular and we ended up with a hybrid with <font size="2"><span style="background-color:rgba(255,255,255,0)">sort and sorted but union and formUnion. Which no one seems to like!</span></font></div><div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);"><br></span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)"></span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);">Therefore I suggest a new review for the proposed:</span></font></div><div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);"><br></span></font></div><div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);">    mutating array.sort(&lt;)</span></font></div><div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);">    let sorted = array.sort(&lt;)</span></font></div><div><div><font size="2"><span style="background-color:rgba(255,255,255,0)">    mutating set.union(other)</span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)">    let unioned = set.union(other)</span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)"><br></span></font></div><div><font size="2"><span style="background-color:rgba(255,255,255,0)">I think the motivation for new review, or new information if you like, is the discussion didn&#39;t cease after the decision was taken, unlike most discussions on swift-evolution. <span></span></span></font></div><font size="2"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961);"></span></font><br>On Wednesday, 27 April 2016, Matthew Johnson via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><br><br>Sent from my iPad</div><div><br>On Apr 27, 2016, at 12:37 AM, Thorsten Seitz via swift-evolution &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div>Am 26. April 2016 um 22:02 schrieb Dave Abrahams &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;dabrahams@apple.com&#39;);" target="_blank">dabrahams@apple.com</a>&gt;:<br><br><div><blockquote type="cite"><div><div><span><br>on Tue Apr 26 2016, Thorsten Seitz &lt;<a href="http://tseitz42-at-icloud.com" target="_blank">tseitz42-AT-icloud.com</a>&gt; wrote:<br><br><blockquote type="cite">Am 23.04.2016 um 10:27 schrieb Pyry Jahkola via swift-evolution</blockquote><blockquote type="cite">&lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a>&gt;:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I&#39;d like to second James Campbell&#39;s suggestion of a `mutate` keyword.</blockquote><blockquote type="cite">Clarifying comments inline below:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On 23 Apr 2016, at 00:24, Dave Abrahams via swift-evolution</blockquote><blockquote type="cite">&lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This is not a new idea. Something almost identical to this has been</blockquote><blockquote type="cite">explored and discussed quite thoroughly already:</blockquote><blockquote type="cite">&lt;<a href="https://github.com/apple/swift/blob/master/docs/proposals/Inplace.rst%3E" target="_blank">https://github.com/apple/swift/blob/master/docs/proposals/Inplace.rst&gt;</a>.</blockquote><blockquote type="cite">In fact, it was implmented and later reverted because it raised</blockquote><blockquote type="cite">language-design questions for which we had no good answers.</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I don&#39;t know if the following are particularly good answers, but I&#39;ll try</blockquote><blockquote type="cite">anyway:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I don&#39;t believe the choice of glyph (&amp; vs =) affects any of the</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">fundamental issues:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">* Should the x.=f() syntax be required for *every* mutating method</blockquote><blockquote type="cite">invocation?</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Allow me to ask it differently: Should some specific syntax be required for</blockquote><blockquote type="cite">every mutating method? — Yes.</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I think I like that idea.</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Should the syntax be `x.=f()`? — Not necessarily. I kinda like James</blockquote><blockquote type="cite">Campbell&#39;s idea of a `mutate` keyword. Consider the following:</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">var numbers = [5, 12, 6, 2]</blockquote><blockquote type="cite">mutate numbers.append(10)</blockquote><blockquote type="cite">mutate numbers.sort()</blockquote><blockquote type="cite">if let biggest = mutate numbers.popLast() {</blockquote><blockquote type="cite">print(&quot;The biggest number was:&quot;, biggest)</blockquote><blockquote type="cite">}</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">So `mutate` would work much like `try` but—unlike `try` which can move</blockquote><blockquote type="cite">further to the left—`mutate` would have to always prefix the mutating</blockquote><blockquote type="cite">receiver.</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">That doesn&#39;t look so bad (we might shorten &#39;mutate&#39; to &#39;mut&#39;, though I don&#39;t</blockquote><blockquote type="cite">think that would be really necessary).</blockquote><br>We&#39;ve already discussed this whole question length, specifically<br>considered the direction of an almost-identical language feature, and<br>ended up settling on the “form/ed/ing” naming conventions. If there is<br>some new information since then, it would be possible to handle</span></div></div></blockquote></div><div><span><br></span></div><div><span>The new information might be that the &quot;form&quot; naming conventions have not been that well received, i.e. the naming discussion cannot really be described as &quot;settled&quot; :-)<br></span></div></div></div></blockquote><div><br></div><div>Also, I could be wrong but IIRC the discussion of having some kind of &quot;mutation&quot; syntax post Swift 3 was held open when that discussion concluded.  It was just out of scope for Swift 3 to address all of the necessary issues. </div><div><br></div><div>I hope this issue isn&#39;t settled once and for all as I am not very happy with the current solution.  The &quot;form&quot; names are quite awkward and confusing IMO.  I would eventually get used to them but that is the problem - they will really take getting used to.</div><div><br></div><div><br><blockquote type="cite"><div><div><div><span><br></span></div><div><span>-Thorsten<br></span></div></div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></div></div></blockquote></div><br><br>-- <br>-- Howard.<br>