<div dir="auto">Yes, I agree that independently of what we do about the bigger issue of uniqueness of characters, we should replace sends of #== with #= in most cases.</div><div dir="auto">Having immediate characters for both ascii and unicode would be nice, tho. Are there good reasons to continue supporting V3 images?</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 24 Jul 2023 at 04:39 Hernán Wilkinson via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">I think we should keep it the way it is right now and fix the problems when they arise.<div>The message #== should only be used when doing meta-programming of memory stuff related, if not, #= is the right one to use.</div><div>There is a lot of old code that uses #== instead of #=, most of it due to "performance" reasons, other due to "ignorance", (new smalltalkers confuse == with equality because Java/C#/etc use #== as equality (or message equals) and #= as assignment, etc.</div><div> The truth is that, currently, the impact on performance is negligible (performance problems are not due to use #= instead of #==). Using #== instead of #= because a possible performance issue is an early optimization and we all know that "early optimization is the root of all evil" :-)</div><div><br></div><div>Cheers!</div><div>Hernan.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 23, 2023 at 5:05 PM Juan Vuletich <<a href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Hi Folks,<br>
<br>
Hilaire had trouble, that he already solved, when updating NeoCSV for <br>
current Cuis. The root of the problem is that in older Cuis and in <br>
Smalltalk-80 and Squeak `aCharacter == $,` is guaranteed to mean the <br>
same as `aCharacter = $,`. In other words, there can exist only one <br>
instance of any Character. This is no longer in true today in Cuis: `$, <br>
== $, asUnicodeCodePoint` is false.<br>
<br>
In Cuis we have two character like classes. They are polymorphic, and <br>
the only observable difference is when asking #== or #identityHash.<br>
<br>
The question I ask is: How important is this? Do we need or want <br>
uniqueness of characters? What do other dialects do? Would it make sense <br>
to give an error or at least a warning when trying to compare with #== <br>
against a literal character?<br>
<br>
It is possible to guarantee uniqueness of characters, but not without <br>
some work. The easiest way is what Squeak did, having a single, Unicode <br>
wide, immediate Character class. But this can not be done in pre-Spur <br>
(V3) images and VMs.<br>
<br>
Thanks,<br>
<br>
-- <br>
Juan Vuletich<br>
<a href="http://cuis.st" rel="noreferrer" target="_blank">cuis.st</a><br>
<a href="http://github.com/jvuletich" rel="noreferrer" target="_blank">github.com/jvuletich</a><br>
<a href="http://researchgate.net/profile/Juan-Vuletich" rel="noreferrer" target="_blank">researchgate.net/profile/Juan-Vuletich</a><br>
<a href="http://independent.academia.edu/JuanVuletich" rel="noreferrer" target="_blank">independent.academia.edu/JuanVuletich</a><br>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" rel="noreferrer" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a><br>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" rel="noreferrer" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a><br>
<a href="http://twitter.com/JuanVuletich" rel="noreferrer" target="_blank">twitter.com/JuanVuletich</a><br>
<br>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:small"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong style="font-family:tahoma,sans-serif"><span style="font-size:8pt;font-family:tahoma,sans-serif"><span style="font-size:small;font-family:tahoma,sans-serif"><font size="2" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)"><span style="font-weight:normal;font-family:tahoma,sans-serif"><span style="font-weight:bold;font-family:tahoma,sans-serif">Hernán Wilkinson</span><br>Agile Software Development, Teaching & Coaching</span></font></span></span></strong></span></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong style="font-family:tahoma,sans-serif"><span style="font-size:8pt;font-family:tahoma,sans-serif"><span style="font-size:small;font-family:tahoma,sans-serif"><font size="2" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)"><span style="font-weight:normal;font-family:tahoma,sans-serif">Phone: +54-011</span></font></span></span></strong></span><font face="tahoma, sans-serif" size="2" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)">-4893-2057</font></div><div style="font-size:12.8px"><strong style="font-family:tahoma,sans-serif;font-size:xx-small"><span style="font-size:8pt;font-family:tahoma,sans-serif"><span style="font-size:small;font-family:tahoma,sans-serif"><font size="2" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)"><span style="font-weight:normal;font-family:tahoma,sans-serif">Twitter: @HernanWilkinson</span></font></span></span></strong></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong style="font-family:tahoma,sans-serif"><span style="font-size:8pt;font-family:tahoma,sans-serif"><span style="font-size:small;font-family:tahoma,sans-serif"><font size="2" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)"><span style="font-weight:normal;font-family:tahoma,sans-serif">site: <a href="http://www.10pines.com/" style="font-family:tahoma,sans-serif;color:rgb(17,65,112)" target="_blank">http://www.10Pines.com</a></span></font></span></span></strong></span></div><div style="font-size:12.8px"><font face="tahoma, sans-serif" style="font-family:tahoma,sans-serif;color:rgb(0,0,0)"><span style="border-collapse:collapse;font-family:tahoma,sans-serif">Address: Alem 896</span></font>, Floor 6, Buenos Aires, Argentina</div></div></div></div></div></div></div></div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>