<html><body><div>+1<br></div><div>Now we only need to add submodule and protected ;-)<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>-Thorsten<br data-mce-bogus="1"></div><div><br>Am 15. März 2016 um 14:58 schrieb Zach Waldowski via swift-evolution &lt;swift-evolution@swift.org&gt;:<br><br><div><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content">I'm in favor of this too. Parameterizing the private syntax is nice, but<br>it introduces complications elsewhere. We should come up with a new<br>word, `module` seems good to me.<br><br>Sincerely,<br>&nbsp; Zachary Waldowski<br>&nbsp;&nbsp;<a href="mailto:zach@waldowski.me" data-mce-href="mailto:zach@waldowski.me">zach@waldowski.me</a><br><br>On Mon, Mar 14, 2016, at 10:38 PM, Sean Heber via swift-evolution wrote:<br><blockquote type="cite" class="quoted-plain-text">I, too, prefer it to be more like this:</blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">public // unchanged</blockquote><blockquote type="cite" class="quoted-plain-text">module // currently internal</blockquote><blockquote type="cite" class="quoted-plain-text">internal // currently private</blockquote><blockquote type="cite" class="quoted-plain-text">private // new hotness</blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">l8r</blockquote><blockquote type="cite" class="quoted-plain-text">Sean</blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">&gt; On Mar 14, 2016, at 7:50 PM, Jo Albright via swift-evolution &lt;swift-evolution@swift.org&gt; wrote:</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; +1</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; I like this a lot. Name ideas : enclosed, filelocal, fileonly, filelock, fileaccess, fileprivate, insidefile, inner. I also like Erica’s filebound &amp; file fixed.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; By Erica’s suggestion about switching…</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; - public</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; - modular, modulelock, packaged (module only)</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; - internal (file only)</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; - private</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; Designer . Developer .  Nerd</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; Jo Albright</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; On Mar 14, 2016, at 8:18 PM, Chris Lattner via swift-evolution &lt;swift-evolution@swift.org&gt; wrote:</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; Per Doug’s email, the core team agrees we should make a change here, but would like some bikeshedding to happen on the replacement name for private.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; To summarize the place we’d like to end up:</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - “public” -&gt; symbol visible outside the current module.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - “internal” -&gt; symbol visible within the current module.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - unknown -&gt; symbol visible within the current file.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - “private” -&gt; symbol visible within the current declaration (class, extension, etc).</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; The rationale here is that this aligns Swift with common art seen in other languages, and that many people using private today don’t *want* visibility out of their current declaration. It also encourages “extension oriented programming”, at least it will when some of the other restrictions on extensions are lifted. We discussed dropping the third one entirely, but think it *is* a useful and important level of access control, and when/if we ever get the ability to write unit tests inside of the file that defines the functionality, they will be a nicer solution to @testable.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; The thing we need to know is what the spelling should be for the third one. Off hand, perhaps:</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; fileprivate</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; private(file)</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; internal(file)</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; fileaccessible</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; etc</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; Some other thoughts on the choice:</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - this will be a declaration modifier, so it will not “burn” a keyword.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; - if will be a uniquely Swift thing, so there is virtue in it being a googlable keyword.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; Thoughts appreciated.</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; -Chris</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; _______________________________________________</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; swift-evolution mailing list</blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; <a href="mailto:swift-evolution@swift.org" data-mce-href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br data-mce-bogus="1"></blockquote><blockquote type="cite" class="quoted-plain-text">&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" data-mce-href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br data-mce-bogus="1"></blockquote><blockquote type="cite" class="quoted-plain-text">&gt;</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; _______________________________________________</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; swift-evolution mailing list</blockquote><blockquote type="cite" class="quoted-plain-text">&gt; <a href="mailto:swift-evolution@swift.org" data-mce-href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br data-mce-bogus="1"></blockquote><blockquote type="cite" class="quoted-plain-text">&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" data-mce-href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br data-mce-bogus="1"></blockquote><blockquote type="cite" class="quoted-plain-text"><br></blockquote><blockquote type="cite" class="quoted-plain-text">_______________________________________________</blockquote><blockquote type="cite" class="quoted-plain-text">swift-evolution mailing list</blockquote><blockquote type="cite" class="quoted-plain-text"><a href="mailto:swift-evolution@swift.org" data-mce-href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br data-mce-bogus="1"></blockquote><blockquote type="cite" class="quoted-plain-text"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" data-mce-href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br data-mce-bogus="1"></blockquote>_______________________________________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" data-mce-href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" data-mce-href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></span></div></div></blockquote></div></div></body></html>