Do it to them all: flatMapped, unioned, etc.<br><br>On Monday, 11 April 2016, Dave Abrahams 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"><br>
on Fri Apr 08 2016, Brent Royal-Gordon &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a>&gt; wrote:<br>
<br>
&gt;&gt; The &#39;flatten()&#39; method didn&#39;t get the Swift 3 API renaming treatment<br>
&gt;&gt; it should have, to go along with reversed, sorted, joined, etc.<br>
&gt;&gt; As I see Dmitri Gribenko already agree with it but we still have to<br>
&gt;&gt; discuss it here. So what do you think?<br>
&gt;<br>
&gt; I&#39;m in favor.<br>
&gt;<br>
&gt; Though all of these things are terms of art, not all terms of art are created equal. For instance:<br>
&gt;<br>
&gt; * `map` is supported by virtually any language which have any of these<br>
&gt; higher-order functions, and to my knowledge the name `map` is<br>
&gt; universally used.<br>
&gt; * `reduce` is not quite as universally supported, but it&#39;s still very<br>
&gt; common, and most (but not quite all) languages with higher-order<br>
&gt; functions support it.<br>
&gt; * `filter` is very widely supported, but the *name* `filter` is not<br>
&gt; quite so consistent. Ruby, for instance, calls it `select`, Perl calls<br>
&gt; it `grep`, etc.<br>
&gt; * `takeWhile` lies on the other end of the spectrum, being very narrowly supported.<br>
&gt;<br>
&gt; In my opinion, it would be a really bad idea to rename `map` or<br>
&gt; `reduce`; `filter` is probably a bad idea but not terrible; but we<br>
&gt; should feel relatively free to rename `takeWhile`.<br>
&gt;<br>
&gt; `flatten` is nowhere near as weak a term of art as `takeWhile`, but I<br>
&gt; think it still falls towards that end of the spectrum. We shouldn&#39;t<br>
&gt; worry too much about changing it. `map`, `reduce`, and `filter` are<br>
&gt; much stronger terms, and we should be more cautious about changing<br>
&gt; them.<br>
<br>
The problem is flatMap.  The semantics of map, flatMap, and flatten are<br>
inextricably linked.  IMO it would be weird to do this to one or two of<br>
these names and not to all of them.<br>
<br>
--<br>
Dave<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote><br><br>-- <br>-- Howard.<br>