[swift-evolution] [Review] SE-0030 Property Behaviors

plx plxswift at icloud.com
Sun Feb 14 14:02:51 CST 2016

> What is your evaluation of the proposal?
It’s “ok”. It is obviously scaled-back from earlier attempts, enough to be useful but not enough to be exciting.

The main shortcoming here is the complete lack of composability. I understand why behavior composition got cut, but I’m not convinced it was the right decision.

As far as I have followed it, it does seem that it’s only `synchronized`-style behaviors that are fundamentally-problematic under composition; that is, using the terminology in the proposal, linear behavior composition would work fine, and to my eyes most behaviors are “linear”.

If it’s actually the case that almost all behaviors would compose reasonably (being “linear”), what’s the actual harm in going back to the more-composable earlier proposals and simply accepting that although one *can* write `synchronized`-style behaviors, they’re going to be fragile and doing so will thus be ill-advised?

It feels like a lot of useful functionality has been given-up upon merely to avoid *potential* problems with a specific few, IMHO questionable, behaviors (like property-level `synchronized`).

> Is the problem being addressed significant enough to warrant a change to Swift?
A good version of a feature like this will lead to huge robustness-of-implementation improvements.

> Does this proposal fit well with the feel and direction of Swift?
The general idea very much so. The proposed behavior declaration syntax is odd, and only seems justifiable to me if a specific flavor of behavior composition winds up being the feature's future.

> 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?
A lot of thought towards earlier proposals, a skim of this one.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160214/d0065b73/attachment.html>

More information about the swift-evolution mailing list