[swift-evolution] [Proposal] Property behaviors
Joe Groff
jgroff at apple.com
Wed Jan 13 16:07:06 CST 2016
Thanks everyone for the first round of feedback on my behaviors proposal. I've revised it with the following changes:
- Instead of relying on mapping behaviors to function or type member lookup, I've introduced a new purpose-built 'var behavior' declaration, which declares the accessor and initializer requirements and provides the storage and behavior methods of the property. I think this gives a clearer design for authoring behaviors, and allows for a more efficient and flexible implementation model.
- I've backed off from trying to include 'let' behaviors. As many of you noted, it's better to tackle immutable computed properties more holistically than to try to backdoor them in.
- I suggest changing the declaration syntax to use a behavior to square brackets—'var [behavior] foo'—which avoids ambiguity with destructuring 'var' bindings, and also works with future candidates for behavior decoration, particularly `subscript`.
Here's the revised proposal:
https://gist.github.com/jckarter/50b838e7f036fe85eaa3
For reference, here's the previous iteration:
https://gist.github.com/jckarter/f3d392cf183c6b2b2ac3
Thanks for taking a look!
-Joe
More information about the swift-evolution
mailing list