<div dir="ltr"><div>I think most of what has been said in favor of explicit `self` is valid to some degree, however I think it is a matter of _code style_ that should be considered by each team. If there is indeed a clear benefit in using it, it will certainly become idiomatic over time. Personally, I think this is some verbosity that we can live without.<br><br></div><div>Francisco<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 18, 2015 at 12:33 AM, David Hart 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"><div dir="auto"><div>Hi people,</div><div><br></div><div>I've tried to avoid interacting with the discussions here and on Twitter because all the good arguments on both sides of the fence seem to have been given and that it would just add more fuel to what seems like a pretty hot fire :)</div><div><br></div><div>But I'd like to move the discussion forward. I've I'd have to summarize all of it, it seems like they are people who like the implicitness of self and REALLY don't like my proposal, because it would induce a heavy writing and reading cost to code which looks fine to them.</div><div><br></div><div>On the other hand, there are people like me who already use self explicitly to help document the scope of variables used and where there might be hidden side effects of getters and setters, and really appreciate he advantages it brings. It seems that we would enjoy a language that forces explicitness to be able to read code everywhere and be able to make the same assumptions.</div><div><br></div><div>But it seems that we all agree with the underlying issue: that the fact that the neither the language, nor the code conventions, nor the compiler makes it extremely clear about the scope of variables at the point of use as other languages might (Ruby comes to mind).</div><div><br></div><div>We just seem to disagree on explicit self being the solution: it adds a lot of verbosity for people who prefer succinctness (even if I think it is a less important goal).</div><div><br></div><div>What other solutions can we think up? We already discussed using other prefix keywords which are less verbose than self, but couldn't come up with any great solution. I would just like the language help us here to make things safer without everybody using their own naming conventions or Hungarian notation.</div><div><br></div><div>David</div><div><br></div><div>PS: I haven't found time to update the proposal and I'd like to apologize if it sounded a bit too much one sided - I wrote it before a lot off e nag give feedback, and tried to stick to the style of other proposals, but perhaps failed in doing so.</div><div><div class="h5"><div><br></div><div><br></div><div>On 17 Dec 2015, at 23:38, Rudolf Adamkovic via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div>After careful reading through all the arguments, I'm now in the -1 camp too.</div><div><br></div><div>The "visual noise" examples and reasoning about consistency with the rest of the language totally got me.</div><div><br></div><div>P.S. I really liked the idea to use a dot instead of dot self but yeah, dot is already reserved for enums.</div><div><br></div><div>R+</div><div><br></div><div>Sent from my iPhone</div><div><br>On 16 Dec 2015, at 19:55, Douglas Gregor via swift-evolution <<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div>Hello Swift community,<div><br><div>The review of “Require self for accessing instance members” begins now and runs through Sunday, December 20th. The proposal is available here:</div></div><div><br></div><div><span style="white-space:pre-wrap">        </span><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0009-require-self-for-accessing-instance-members.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0009-require-self-for-accessing-instance-members.md</a></div><div><br></div><div><div>Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at</div><div><br></div><div><span style="white-space:pre-wrap">        </span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div><div><br></div><div>or, if you would like to keep your feedback private, directly to the review manager.</div><div><br></div><div>What goes into a review?</div><div><br>The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:<br><br><div><span style="white-space:pre-wrap">        </span>* What is your evaluation of the proposal?<br></div><div><span style="white-space:pre-wrap">        </span>* Is the problem being addressed significant enough to warrant a change to Swift?<br></div><div><span style="white-space:pre-wrap">        </span>* Does this proposal fit well with the feel and direction of Swift?<br></div><div><span style="white-space:pre-wrap">        </span>* If you have you used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br></div><div><span style="white-space:pre-wrap">        </span>* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br></div><br></div><div>More information about the Swift evolution process is available at</div><div><br></div><div><span style="white-space:pre-wrap">        </span><a href="https://github.com/apple/swift-evolution/blob/master/process.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/process.md</a></div><div><br></div><div><span style="white-space:pre-wrap">        </span>Cheers,</div><div><span style="white-space:pre-wrap">        </span>Doug Gregor</div><div><span style="white-space:pre-wrap">        </span>Review Manager</div></div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=j4IybsUIPYHiRcwUyRdFaT0btoE4CwQClAWElFA0dHM7n2VvRjKa1887g3m39LRJ-2Bi03MNL5uNGSjDCJ7OxbC5bd0aCKOkHHhPlyTFp17cr65Rj1mx6vOvGg3ib2w4X4ApsrsPyZxwN9F6IqYuS43mvwRlYwYwtiMRZrgPUUrsaVyM7WHcCeXao-2FewiUo0I761ztShnyfvuA5xaoz7P0Sw-3D-3D" alt="" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important" height="1" border="0" width="1">
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=nE9rxSXA5G4kxsTVkgv43hXwizS3O2z60WweqomIrdj1KOBV6EgQdQChECvTAUgC7GHrnDgFICZZpzdWLqRYAe9-2BudlrNCv72wrdoZyMid7FFxpn4ZfoSn2Q5PfSrvfJ-2B13eRrotMh-2BkIXIaWSIW7pitVCBErkUEzwoN9BUNnNbuHzc-2FzCP6pKMM-2F9A0-2BFqJuSAkKJn6t3or3UdrhGL1V4IHPwcbAKMdRJ6ozLmbHls-3D" alt="" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important" height="1" border="0" width="1">
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=LTyYkhaw0GMm-2FCGhK-2BH0XDiD8lEy787jDOTp24j5qDYy3Zq4RASOoe8wh-2Bi3ciFVHeVVphuhdjiVVrtBEecpc1Y3lK2uCvXhiHW1hZcx52SqZNKmK5T0zhLM6WGZUezGcKpbxyJ1Xha66XA6PEyqvQq7y1tot5u3pYUC9awA2kzIRKcuHmVvVEuQVcX-2BBiy-2BuqGqewwYMJqE3ZdGfqeZxQArhE1QVoXZFbBub4Zrx6A-3D" alt="" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important" height="1" border="0" width="1">
</div></div></div>
<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>
<br></blockquote></div><br></div>