[swift-evolution] SE-0025: Scoped Access Level, next steps

John Siracusa siracusa at gmail.com
Thu Mar 24 08:02:29 CDT 2016


On Thu, Mar 24, 2016 at 1:13 AM, Chris Lattner via swift-evolution <
swift-evolution at swift.org> wrote:

> On Mar 15, 2016, at 3:39 AM, Thorsten Seitz via swift-evolution <
> swift-evolution at swift.org> wrote:
> > public
> > private-module
> > private-file
> > private
>
> This follows the same sort of structure as James’ proposal, without the
> parens.  It has the same advantages, but trades them with hyphenated decl
> modifiers.  We don’t do that, but it is a good direction.
>
> How about we continue this trend, and follow other existing Swift keywords
> that merge two lowercase words (associatedtype, typealias, etc), and use:
>
>         public
>         moduleprivate
>         fileprivate
>         private
>

Why is it important to highlight word boundaries in so many other
conventions in Swift but not in this one? What would be lost with this
alternative?

public
module_private
file_private
private

Is it just the extra (chorded, on US keyboards) keystroke? I think the
readability benefits of clear word boundaries far outweigh the keystroke
cost (especially with good editor auto-complete).

I also think the precedent of nameslikethis is a dangerous one for
readability. It's easy to say this is "just for this limited area of the
language," but witness how associatedtype is already used to support
moduleprivate and friends. Precedents matter, and I think this is not a
good one.

-John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160324/915c9448/attachment.html>


More information about the swift-evolution mailing list