[swift-evolution] [swift-evolution-announce] [Review] SE-0025 Scoped Access Level

David Owens II david at owensd.io
Mon Feb 29 11:30:59 CST 2016

What is your evaluation of the proposal?

-1. I disagree with the starting motivation points, so it's hard to really see the value in the rest of the arguments.

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


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

No. Swift's access modifier control is about code unit access levels. This proposal breaks this conceptual model. Now instead of thinking of publicly exposed APIs, APIs using only within the context of the module, and APIs local to the file, I now need to parse semantic scopes to understand where a piece of code can be used.

Basically Swift's model is:
  - public exports
  - internal exports
  - no exports

This proposal doesn't fit anywhere in that model.

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

Yes, this basically what private is other languages. However, traditionally "private scope" implementations have severe weaknesses in the ability to expose the implementation details only to helper code within the same file. Creating local re-invents part of that. 

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

I've read the review and followed much of the conversation, including participating in the previous thread on this topic.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160229/e97f0008/attachment.html>

More information about the swift-evolution mailing list