> On Apr 6, 2017, at 9:28 PM, Rick Mann via swift-evolution
> <[email protected]> wrote:
> I tend to dislike the backslash as well, but can't suggest a good alternative.
>
> Does any of this allow for operations within the key path? e.g.
> [email protected]?
You can express things like this in the feature as proposed using subscripts:
extension Collection {
subscript<T: Integer>(summing path: KeyPath<Element, T>) -> T {
var sum: T = 0
for let elt in self {
sum += elt[keyPath: path]
}
return sum
}
}
...
\Department.employees[summing: \.salary]
That's not actually a good name for the subscript, but maybe there's one out
there.
John.
>
> Also, in this example:
>
> let firstFriendsNameKeyPath = \Person.friends[0].name
> let firstFriend = luke[keyPath: firstFriendsNameKeyPath] // "Han Solo"
>
> Can't we do without the keyPath: argument name? The compiler knows it's a
> keypath, it would be nicer to write
>
> let firstFriend = luke[firstFriendsNameKeyPath] // "Han Solo"
>
>> On Apr 5, 2017, at 16:56 , Douglas Gregor via swift-evolution
>> <[email protected]> wrote:
>>
>> Hello Swift community,
>>
>> The second review of SE-0161 "Smart KeyPaths: Better Key-Value Coding for
>> Swift" begins now and runs through April 9, 2017. The revised proposal is
>> available here:
>>
>> https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md
>> The core team’s feedback from the first review of this proposal can be
>> viewed at:
>>
>> https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000342.html
>> Reviews are an important part of the Swift evolution process. All reviews
>> should be sent to the swift-evolution mailing list at
>>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> or, if you would like to keep your feedback private, directly to the review
>> manager. When replying, please try to keep the proposal link at the top of
>> the message:
>>
>> Proposal link:
>>
>> https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md
>> Reply text
>> Other replies
>> What goes into a review?
>>
>> The goal of the review process is to improve the proposal under review
>> through constructive criticism and, eventually, determine the direction of
>> Swift. When writing your review, here are some questions you might want to
>> answer in your review:
>>
>> • What is your evaluation of the proposal?
>> • Is the problem being addressed significant enough to warrant a change
>> to Swift?
>> • Does this proposal fit well with the feel and direction of Swift?
>> • If you have used other languages or libraries with a similar feature,
>> how do you feel that this proposal compares to those?
>> • How much effort did you put into your review? A glance, a quick
>> reading, or an in-depth study?
>> More information about the Swift evolution process is available at
>>
>> https://github.com/apple/swift-evolution/blob/master/process.md
>> Thank you,
>>
>> -Doug
>>
>> Review Manager
>>
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> --
> Rick Mann
> [email protected]
>
>
> _______________________________________________
> 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