[swift-evolution] [SR-933] Rename flatten to flattened

Arsen Gasparyan to.arsen.gasparyan at gmail.com
Sun Apr 10 15:20:51 CDT 2016


Ok. Is it final decision? Can I start working on it?
On Sun, 10 Apr 2016 at 23:07, Howard Lovatt via swift-evolution <
swift-evolution at swift.org> wrote:

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


More information about the swift-evolution mailing list