<div dir="ltr">Hi Chris,<br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 23, 2017 at 3:10 PM, Chris Muller <span dir="ltr"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eliot,<br>
<br>
Object>>#name is a travesty, but #className seems perfectly<br>
reasonable.  Did you notice the comment of the method?  -- it has<br>
nothing to do with "is" testing, but for accessing the type names of<br>
objects for a list, useful for presenting a list classes which could be<br>
the receiver for constructor of more objects.<br></blockquote><div><br></div><div>You miss my point.  Many people complain about the proliferation of 'is' methods, but I see them as well worth the cost.  I agree that name is a travesty and className falls in the same category for me.  The issue is it exists as a printing method but it</div><div>- collides with methods that are used to model classes and there are plenty of them</div><div>- doesn't provide much utility as it is effectively foo class name, and foo className saves one character.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I have overrides of #className in some of the Ma Serializer classes,<br>
it's never presented any headache for me at all.<br></blockquote><div><br></div><div>Except when one uses "create inst var accessors" and the getter is not produced ;-)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> e.g. when one tries to do "create inst var accessors" for a class that one has<br>
> added a className inst var?<br>
<br>
</span>Honestly, dude, THAT is what irritated you enough to want to delete<br>
this 17 year old method?  A special-case of a special-case?<br>
<br>
I would rather get rid of "create inst var accessors" altogether, then<br>
you would not have that problem.   :)<br>
<br>
I don't really see any problem with #className, and easily presenting<br>
the types of objects in a list is very feasible thing to want to do.<br>
<br>
-1<br></blockquote><div><br></div><div>Well, each to his own.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
On Thu, Mar 23, 2017 at 4:08 PM, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
> Hi All,<br>
><br>
>     I find Object>>#className offensive; is methods are far nicer than this<br>
> nonsense.  First of all  className is implemented in several Monticello<br>
> classes to do what you'd expect; answer the name of a class of some<br>
> to-be-imported item such as a method or class definition.  Second, there are<br>
> tests out there that simply don't do what a naive reading might expect:<br>
><br>
> testClassCommentAnnotation<br>
> | annotation |<br>
> browser selectSystemCategory: browser class category.<br>
> browser selectClass: browser class.<br>
> annotation := browser annotationForClassCommentFor: browser class.<br>
> self assert: (annotation includesSubstring: browser class organization<br>
> commentStamp).<br>
> self assert: (annotation includesSubstring: 'class comment for').<br>
> self assert: (annotation includesSubstring: browser className).<br>
><br>
> Is it /really/ that hard to write foo class name instead of foo className<br>
> and have subclasses prevented from using it easily e.g. when one tries to do<br>
> "create inst var accessors" for a class that one has added a className inst<br>
> var?  We already have Object>>#name, which is horrible enough.  Ca we think<br>
> seriously about nuking Object>>#className?<br>
><br>
> The grouch.<br>
> _,,,^..^,,,_<br>
> best, Eliot<br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>