on Fri Apr 08 2016, Pyry Jahkola <[email protected]> wrote:

>     On 08 Apr 2016, at 13:19, Haravikk via swift-evolution
>     <[email protected]> wrote:
>
>     I think it makes sense to just rename them; it’s not as though flattened 
> or
>     mapped is somehow far removed from the original meaning as the actual 
> action
>     is the same, it’s just changing tense.
>
> -1, and not only for the reasons we neither call trigonometric functions 
> `sine`,
> `cosine`, and `tangent`. The existing names are widely known, commonly taught 
> in
> modern introductory programming courses, to the point, and googleable.
>
> In addition:
>
>     If we want mutating forms of this methods then I much prefer .map() and .
>     mapped() to .map() and .mapInPlace() or whatever, as the latter 
> contradicts
>     the naming convention used everywhere else which only adds confusion.
>
> This idea of in-place versions is innocuous but absurd. In general, there's no
> way mapping `T -> U` over a `[T]` could possibly accommodate the result in the
> argument of type `[T]`:
>
> var xs: [Int] = ...
> xs.mapInPlace {String($0)} // ???

No, you'd just give it a more-restricted signature that only accepted
T->T closures.

> And the same goes for `flatMap`, and `Optional` and others. Likewise, 
> `flatten()
> ` couldn't possibly happen in place because the result type has one level of
> nesting less than the argument.

C'rect.
-- 
Dave

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to