+1 for using ::

It’s got precedence in many other languages (C++, Java 8+, Kotlin) to reference 
static methods, and it’s sufficiently different enough from `.` to avoid 
confusing people.

While I personally resist letting C++ influence Swift syntactically, this makes 
a lot of sense to me.

— Harlan

> On Apr 5, 2017, at 8:27 PM, Tony Allevato via swift-evolution 
> <[email protected]> wrote:
> 
> 
> 
> On Wed, Apr 5, 2017 at 4:56 PM Douglas Gregor via swift-evolution 
> <[email protected] <mailto:[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
>  
> <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
>  
> <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 
> <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
>  
> <https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md>
> Reply text
> Other replies
>  
> <https://github.com/apple/swift-evolution/pulls#what-goes-into-a-review-1>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?
> Full on +1 now. Thank you for reverting the heavy syntax from the previous 
> revision. This makes the feature much more usable, and the future alignment 
> with unbound function references will be welcome in terms of consistency.
> 
> I guess I'll throw out my own color for the shed:  Was :: already considered 
> as well? It at least has some precedent in C++ and later Java for similar 
> purposes, and it's not currently an operator in the language. We could have:
> 
>     Person.foo // a reference to Person's static property foo
>     Person::foo // a keypath to Person's instance property foo
> 
> Then, for SE-0042:
> 
>     Person::someFunction // a function reference of type (Person, ...other 
> args...) -> Result 
> 
> But that might make the implied case look strange. Would we have to have this?
> 
>     print(luke[keyPath: ::.friends[0].name])
> 
> Without the period after the "::", it's inconsistent with other type 
> inference sites, but with it, it's kind of ugly.
> 
> That being said, if the backslash ends up being the operator of record for 
> this feature because other options would be poor choices for other reasons, 
> I'm ok with that.
> 
> My feedback on the rest of the proposal review bullets is the same as before; 
> I won't repeat it here.
> 
> 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 
> <https://github.com/apple/swift-evolution/blob/master/process.md>
> Thank you,
> 
> -Doug
> 
> Review Manager
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to