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

Matthew Johnson matthew at anandabits.com
Sun Mar 26 12:22:43 CDT 2017



Sent from my iPad

> On Mar 26, 2017, at 12:15 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> On Mar 26, 2017, at 11:57 AM, David Sweeris via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> On Mar 26, 2017, at 08:50, David James via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>>> • What is your evaluation of the proposal?
>>> -1 as written (see below)
>>> 
>>> • Is the problem being addressed significant enough to warrant a change to Swift?
>>> Not as written
>>> 
>>> • Does this proposal fit well with the feel and direction of Swift?
>>> It does in terms of apparent simplicity, but not in terms of practicality. I like to think of Swift as a practical language that does not sacrifice utility for apparent simplicity.
>>> 
>>> • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
>>> Can’t be compared. Swift has already set a precedent by making “private” mean something non-traditional (pre SE-0025), and I think it was a good decision, taking us away from the idea that private is only useful with parent inheritance structures. 
>>> 
>>> • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
>>> Have been following it since SE-0025, the aftermath, extensive experience using the modifiers in framework code I write and reading all related threads on SE.
>>> 
>>> ***
>>> 
>>> I propose instead that we revise to use Alternative #3, per Vladimir’s comment and revision.
>>> 
>>> Revised version:
>>> 
>>> “3. Revert private to be file-based and introduce the scope-based access level under a new name (e.g.: scoped, local, etc), provided that the scope-based access modifier is not used at the top level of the file.” 
>>> (addendum via Vladimir’s revised comment)
>> 
>> Yeah, within reason, I couldn't care less how "private"/"fileprivate" are spelled. What I'm against is removing the functionalityof the current "private" without simultaneously providing a semantically equivalent replacement.
> 
> I’ll second that. Don’t care what the scoped access modifier is called, as long as there is one.

Agree.  I don't think any supporters are insisting it be called private.  Renaming seems like the compromise that satisfies the greatest number of people.

> 
> Charles
> 
> _______________________________________________
> 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/20170326/84653914/attachment.html>


More information about the swift-evolution mailing list