>       * What is your evaluation of the proposal?

I am generally in favor. I enjoy the current memberwise initializer feature and 
would like to see it become useful in more cases.

One thing I don't like (and was intending to discuss—the review snuck up on me) 
is the keyword `memberwise`. This is the name of the current feature, but I 
don't think it's very well-chosen. "Member" refers to all of the things 
attached to a type: properties, subscripts, methods, initializers, etc. But a 
"memberwise" initializer only initializes the stored properties, not any of 
these other things. Perhaps instead of `memberwise`, the keyword should be 
`property` or `propertywise`.

I'm not precisely sure what would be best, and keyword bikeshedding might be 
best left for a separate proposal. In any case, this defect is not nearly 
severe enough to make me want to scuttle the feature.

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

Yes. The current memberwise initializers are unavailable in any situation with 
even the slightest complications. I think this proposal vastly improves the 
feature.

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

I think it does. It makes something that was previously implicit explicit 
instead, reducing boilerplate while still providing plenty of flexibility.

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

I haven't, unless you count highly dynamic languages where you can easily build 
a constructor that initializes from a dictionary. This proposal is *far* more 
explicit than that sort of solution, which seems like an improvement to me.

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

I've participated in discussions about this feature since before it was 
formally proposed; I think I may have been the first person to bring up 
memberwise initializers as a target for improvement on this list. I've dug 
around in the Swift compiler and took a vague stab at implementing some related 
features, although I didn't get very far. I think my understanding of this 
issue is pretty in-depth.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to