<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Bikeshedding!<div class=""><br class=""></div><div class="">I would suggest three things:</div><div class=""><ol class=""><li class="">Make the access modifies annotations, i.e. they are spelt with an @ and use lower-camel case (which I think was the result of a previous Swift Evolution proposal, otherwise what ever was agreed for annotations)</li><li class="">Move them to the end of the declaration because they clutter the declaration at present, e.g. struct Foo: Bar @public { … }</li><li class="">Names:</li><ul class=""><li class="">@public</li><li class="">@module</li><li class="">@file</li><li class="">@private</li></ul></ol></div><div class=""><div class=""><br class=""><div class="">
Cheers,<br class=""><br class="">&nbsp;— Howard.<br class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On 15 Mar 2016, at 8:18 AM, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">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.<br class=""><br class="">To summarize the place we’d like to end up:<br class=""><br class="">- “public” -&gt; symbol visible outside the current module.<br class="">- “internal” -&gt; symbol visible within the current module.<br class="">- unknown -&gt; symbol visible within the current file.<br class="">- “private” -&gt; symbol visible within the current declaration (class, extension, etc).<br class=""><br class="">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. &nbsp;It also encourages “extension oriented programming”, at least it will when some of the other restrictions on extensions are lifted. &nbsp;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.<br class=""><br class="">The thing we need to know is what the spelling should be for the third one. &nbsp;Off hand, perhaps:<br class=""><br class="">fileprivate<br class="">private(file)<br class="">internal(file)<br class="">fileaccessible<br class="">etc<br class=""><br class="">Some other thoughts on the choice: <br class="">- this will be a declaration modifier, so it will not “burn” a keyword.<br class="">- if will be a uniquely Swift thing, so there is virtue in it being a googlable keyword.<br class=""><br class="">Thoughts appreciated.<br class=""><br class="">-Chris<br class=""><br class="">_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></div></blockquote></div><br class=""></div></div></body></html>