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

Michael Peternell michael.peternell at gmx.at
Tue May 24 15:15:53 CDT 2016

(comments inline)
> Am 24.05.2016 um 20:07 schrieb Chris Lattner via swift-evolution <swift-evolution at swift.org>:
> 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?

-1 . I don't like this. I don't find the consistency arguments convincing. Consistency has to be defined in terms of observable behavior of the language; If a word is a "keyword" or not is an implementation detail of the compiler IMHO(!), so there should be no rule regarding case-ness of keywords.

> 	* Is the problem being addressed significant enough to warrant a change to Swift?

No, I'd rather see progress on static/dynamic dispatch rules of protocol extensions, for example. Changing the case-ness of just two random language keywords doesn't have any influence on the ABI or the API or the semantics of the language.

> 	* Does this proposal fit well with the feel and direction of Swift?

Don't think so.

> 	* If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

ObjC has -willSetValueForKey: and -didSetValueForKey: . It's not the same, because willSet and didSet are not related to KVO. But using the same camelCase syntax for didSet and willSet feels more consistent to me. At least, the semantic distance between didSet and -didSetValueForKey: is less than the semantic distance between didSet and associatedtype. (I compare them because associatedtype is also a keyword, and it's all lowercase.)

> 	* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Read the proposal, participated in the discussion.


More information about the swift-evolution mailing list