[swift-evolution] [Review] SE-0118: Closure Parameter Names and Labels

Dave Abrahams dabrahams at apple.com
Fri Jul 8 13:02:30 CDT 2016


on Thu Jul 07 2016, Taras Zakharko <swift-evolution at swift.org> wrote:

>> 	* What is your evaluation of the proposal?
>
> In general +1, except maybe the change of to isOrderedBefore: by: in
> sort-related functions. I fear that the new label makes it less clear
> that the ordering relation is that of strict precedence. It can be
> particularly confusing for people used to other APIs.

Here's the way I rationalize that to myself, FWIW:

`isOrderedBefore` was mostly a hint for the *author* of the call, to
make sure they didn't use something like `<=`.  We help the author by
building the strictness requirement into the *name* of the parameter,
where it will show up in code completion.  For the *reader* of the call,
once the author gets the call right, it's not particularly helpful to
know that strictness was a requirement, and what's required to convey
that information is heavy enough that it harms readability.  Now, you
could argue that for *maintainers* without code completion or easy
access to the documentation, the label was helpful.  Personally, I felt
that sort of specificity just ended up being “overly fussy,” but it's
nuanced.

>
>> 	* Is the problem being addressed significant enough to warrant a change to Swift?
>
> Well, in the end its an arbitrary decision. Either one works on practice. Personally, I don’t see the issue as being very significant. 
>
>> 	* Does this proposal fit well with the feel and direction of Swift?
>
> Yes, it follows the spirit of the naming guidelines
>
>> 	* 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?
>
> A glance
>
>> On 06 Jul 2016, at 01:10, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> Hello Swift community,
>> 
>> The review of "SE-0118: Closure Parameter Names and Labels" begins now and runs through July 11. The proposal is available here:
>> 
>> 	https://github.com/apple/swift-evolution/blob/master/proposals/0118-closure-parameter-names-and-labels.md
>> 
>> 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.
>> 
>> What goes into a review?
>> 
>> The goal of the review process is to improve the proposal under
>> review through constructive criticism and contribute to 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,
>> 
>> -Chris Lattner
>> Review Manager
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>

-- 
Dave



More information about the swift-evolution mailing list