<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>The word 'external' is growing on me but as the (module access). </div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">public (unchanged)</div><div id="AppleMailSignature">external (module access)</div><div id="AppleMailSignature">internal (file access)</div><div id="AppleMailSignature">private (scoped access)</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">module access = has external access from other files in the module. </div><div id="AppleMailSignature">file access = has internal access to current file</div><div id="AppleMailSignature">scope access = has only access to the current scope. </div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Private will align with other languages definition of private. </div><div id="AppleMailSignature">I don't think public should change and I don't like all the others to be called private(levelofprivacy).</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature"><br></div><div><br>On Mar 25, 2016, at 7:32 PM, Sean Heber via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>I'll throw another suggestion into the ring:</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">private (scoped access)</span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">public (file access)</span></div><div id="AppleMailSignature"><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">internal (module access)</span></div></div><div id="AppleMailSignature">external (infinity and beyond)</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">l8r</div><div id="AppleMailSignature">Sean</div><div id="AppleMailSignature"><br>Sent from my iPad</div><div><br>On Mar 25, 2016, at 8:57 PM, Ross O'Brien via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">The specific meaning of 'public' and 'private' in programming languages refers to type-based symbol visibility. I'm thinking of C++, C#, Java and Objective C; their 'public' is Swift's 'internal'. They have no equivalent to Swift's 'public'. Swift has no equivalent to their 'private'.<div><br></div><div>Possibly my familiarity with other languages isn't broad enough, but this is why I haven't understood the idea that Swift's use of 'private' is "right" or "obvious". You learn Swift's meanings of these terms by coding in Swift, you don't learn these meanings anywhere else first.</div><div><br></div><div>To use a hopefully recognised example: an American who wants 'chips' wants what a Brit calls crisps; a Brit who wants chips wants what an American calls french fries. Which meaning of 'chips' is more intuitive? Answer: the one you grew up with.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 26, 2016 at 1:10 AM, Brent Royal-Gordon via swift-evolution <span dir="ltr"><<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> all of these names (public, internal, private, local) have specific meaning in the context of computer languages.<br>
<br>
</span>Yes, `local` has a meaning, but that meaning is generally *not* that it's an access level. It usually has something to do with declaring variables inside a function.<br>
<br>
For instance, Perl uses it to back up and restore a global variable. ML uses it to create a scope (roughly). Lua and Julia use it to declare lexical variables which are visible in enclosed scopes, which SE-0025's new access level is specifically *not* supposed to allow.<br>
<br>
I don't know of any language where `local` is used as an access level. If you're aware of an analogous use in another language, I'd be interested to see it. But the examples I've found if anything *undermine* the suggestion that `local` would be a good keyword choice.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></body></html>