[swift-evolution] [Review] SE-0159: Fix Private Access Levels

Tony Arnold tony at thecocoabots.com
Sat Mar 25 02:49:36 CDT 2017

Hi Doug (and list),

> What is your evaluation of the proposal?


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

No, I also think it is not the _correct_ answer to the actual issues with access control in Swift right now.

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

With the feel of the proposal, yes. Simplicity is good, less is more and I love that Swift seems to value succinctness where it makes sense.

Does the proposal fit with the direction? 

I would have to say no. 

Using files as an axis of access control seems wrong to me - ultimately, people seem to be using `fileprivate` as a workaround for the lack of an access level that allows extensions in other files to see members/functions (and some for keeping everything in one file - which seems like quite bad practice to me). `private` (as it is defined right now in Swift 3) actually seems to me to be logical to keep in light of discussions around future work toward submodules.

My considered feeling is that if we’re not going to solve the issue of access control holistically - whether by adding other access levels, or by something else like submodules — the change being proposed in SE-0159 seems like shuffling deck chairs on the Titanic.

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

Not applicable. My use of other languages is old, out-of-date and not relevant to Swift or this situation. I bring only my Objective-C/Cocoa and Swift knowledge/experience with me this time.

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

A fair bit of reading both of the posts to the list, some investigation of features in other languages, then a lot of consternation around actually participating in this conversation. 



Tony Arnold
+61 411 268 532

ABN: 14831833541

More information about the swift-evolution mailing list