> On 9 Jun 2017, at 19:06, Max Moiseev via swift-evolution
> <[email protected]> wrote:
>
> Sorry. I might be missing something. Why is this better than:
>
> let allEmployees = Set(managers.flatMap { $0.directReports }
>
> ?
For the same reasons
managers.flatMap(calculateReports(_:))
Is better than:
managers.flatMap { calculateReports($0) }
Quite a few people enjoy this tearse, functional style.
>> On Jun 7, 2017, at 10:35 AM, Adam Sharp via swift-evolution
>> <[email protected]> wrote:
>>
>> The new smart key path feature is really lovely, and feels like a great
>> addition to Swift.
>>
>> It seems like it might be straightforward to add overloads of `map` and
>> `flatMap` to the standard library to make use of the new functionality:
>>
>> let managers = flatOrganisation.managers
>> let allEmployees = Set(managers.flatMap(\.directReports))
>> let employeeNames = Set(allEmployees.map(\.name))
>>
>> This feels like a really natural way of working with key paths in a
>> functional style. It makes a lot of sense for collections, and possibly for
>> Optional too (although as far as I can see optional chaining is more or less
>> equivalent, and with more compact syntax).
>>
>> I’m hoping that this might be low-hanging fruit that could be considered for
>> the Swift 4 release. I’d be happy to have a go at writing a proposal if
>> there’s interest!
>>
>> –Adam
>>
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution