[swift-evolution] [Proposal] Property behaviors

Wallacy wallacyf at gmail.com
Wed Jan 13 20:46:41 CST 2016


Very Good,
I'm still pondering some peculiarities in the proposal, but would like to
highlight:

Declaration syntax:

@lazy<Value>: Value {
 //.....//
}

And keep:

var [lazy] foo = 1738


On Wed, Jan 13, 2016, 20:07 Joe Groff via swift-evolution <
swift-evolution at swift.org> wrote:

> 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
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160114/6fe3e1b9/attachment.html>


More information about the swift-evolution mailing list