<div dir="ltr"><div>Juan/Hernan,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 11, 2019 at 1:37 PM Juan Vuletich <<a href="mailto:juan@jvuletich.org">juan@jvuletich.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div bgcolor="#ffffff">
On 6/11/2019 8:56 AM, Hernan Wilkinson wrote:
<blockquote type="cite">
<div dir="ltr">A few comments:
<div>1) super pvt* it is not allowed because "private" parts of
a class are only visible to its instances, at least that it is
how c++/java and the like treat private stuff (methods, vars,
etc). So in Java you can not do super.prvt*(). </div>
<div>The behavior you are proposing Phil would be like
"protected" in those languages. In fact, we could say that
inst. vars. in Smalltalk are protected in the c++/java
parlance.</div>
<div>So, my guess is that the current restriction on super pvt*
came from that understanding "private".</div>
<div>Having said that, I see no problem to change that
restriction and treat pvt* messages as they were protected
although it will be confusing to explain when compared to
other languages. I think it would be better in that case to
have prt* (protected) instead of pvt* but that would generate
a migration problem...</div>
</div>
</blockquote>
<br>
Mhh. Difficult decision. We could keep the 'pvt' prefix, but in
methods that handle them, we could add comments stating that it is
like what c++/java calls "protected". The error could be "Protected
messages may only be sent to self" (protected instead of private).<br></div></blockquote><div><br></div><div>I've done both Java and C++ development and it never even occurred to me that they might have been the inspiration for pvt*. That makes a lot of sense though as I think this convention was added late-90's.</div><div><br></div><div>The reason it probably never occurred to me at least is because I've always been bothered by the definition of 'private' as it applies to ivars/cvars vs pvt* for methods. So I guess the question is, which is more confusing to users: that pvt* wouldn't work the way they're used to in other languages or that pvt* is internally inconsistent with the ivar/cvar concept of privacy.</div></div></div>