[swift-evolution] [swift-evolution-announce] [Review] SE-0098: Lowercase didSet and willSet for more consistent keyword casing

John McCall rjmccall at apple.com
Tue May 24 13:39:51 CDT 2016


> On May 24, 2016, at 11:21 AM, Joe Groff via swift-evolution <swift-evolution at swift.org> wrote:
> didSet and willSet are already contextual rather than formal keywords, and there's a conceivable future where didSet and willSet are no longer keywords at all if we run with the "property behaviors" feature again in the future. If we think that's likely, I'm not sure this intermediate churn is really worth it.

I agree.

The general principle here is that the language should always promote consistent conventions in the "same place".  So e.g. if we wanted to add intrinsic operations to the language that are spelled exactly like function calls — imagine "dynamicType(x)" if that couldn't just be a library function — then we would use camelCase for those keywords because they fill the same space as a user-defined function call.  If we somehow find a way to allow user-provided declaration introducers, we would expect those to be lowercased for consistency with the language-provided ones.  And so on.

Since it's reasonable to anticipate that we will someday allow user-defined storage behaviors, and we expect it to be most sensible to name those accessors using camelCase conventions, we should use those conventions even for things that are currently built-in to the language.

This also avoids creating weird situations in five years where certain things are spelled inconsistently because they used to be builtins and no longer are (which may even apply to willSet / didSet).

John.

> 
> -Joe
> 
>> On May 24, 2016, at 11:07 AM, Chris Lattner <clattner at apple.com> wrote:
>> 
>> Hello Swift community,
>> 
>> The review of "SE-0098: Lowercase didSet and willSet for more consistent keyword casing" begins now and runs through May 30. The proposal is available here:
>> 
>> 	https://github.com/apple/swift-evolution/blob/master/proposals/0098-didset-capitalization.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-announce mailing list
>> swift-evolution-announce at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution-announce
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list