<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Folks,<br>
<br>
Dave, do you still need or prefer using V3 images? Anyone else?<br>
<br>
Today, in Spur images, UnicodeCodePoints are immediate. And Since
Smalltalk-80 (and in all Cuis versions), Characters are "quasi
immediate": they are unique and never allocated once the
CharacterTable is built. So, only the pointer matters.<br>
<br>
Unifying Character and UnicodeCodePoint in a single class would mean
that we would no longer be able to have ASCII-only images, Unicode
would be included in any image.<br>
<br>
Supporting only Spur images could simplify a few details. It is not
a big deal, though. Truth is that if we chose to use only
UnicodeCodePoint (perhaps renaming it 'Character'), then all
characters would be immediate in Spur. And we can also keep the
first 256 code points in a class var, as we do with Character, to
make them unique also in V3. The downside would be that (only in V3
images) codepoints after 256 would not be unique. I gave this some
thought, and found that this can also be 'fixed'. But is there a
need for characters to be unique?<br>
<br>
I guess the questions are:<br>
<br>
- Would there be any real advantage in unifying Character and
UnicodeCodePoint?<br>
- Would we gain something valuable if we make all character like
objects immediate in Spur?<br>
- Would we gain something valuable if we make all character like
objects unique?<br>
- Would we get a real advantage by dropping support for V3 images?<br>
<br>
If none of the answers turns out to be a clear YES, the should we
bother?<br>
<br>
Please share your thoughts. Maybe we can make a thoughtful decision
and settle this at least for some time.<br>
<br>
Thanks!<br>
<br>
On 7/24/2023 7:46 AM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyo3iQTuV7p27Qh-L=epUyxAy31X6t4_zCJh+5-6hY0AkQ@mail.gmail.com"
type="cite">
<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 moz-do-not-send="true"
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: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<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 moz-do-not-send="true"
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: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">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 moz-do-not-send="true" href="http://cuis.st"
rel="noreferrer" target="_blank">cuis.st</a><br>
<a moz-do-not-send="true"
href="http://github.com/jvuletich" rel="noreferrer"
target="_blank">github.com/jvuletich</a><br>
<a moz-do-not-send="true"
href="http://researchgate.net/profile/Juan-Vuletich"
rel="noreferrer" target="_blank">researchgate.net/profile/Juan-Vuletich</a><br>
<a moz-do-not-send="true"
href="http://independent.academia.edu/JuanVuletich"
rel="noreferrer" target="_blank">independent.academia.edu/JuanVuletich</a><br>
<a moz-do-not-send="true"
href="http://patents.justia.com/inventor/juan-manuel-vuletich"
rel="noreferrer" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a><br>
<a moz-do-not-send="true"
href="http://linkedin.com/in/juan-vuletich-75611b3"
rel="noreferrer" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a><br>
<a moz-do-not-send="true"
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
style="font-family:
tahoma,sans-serif; color: rgb(0,
0, 0);" size="2"><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
style="font-family:
tahoma,sans-serif; color: rgb(0,
0, 0);" size="2"><span
style="font-weight: normal;
font-family: tahoma,sans-serif;">Phone:
+54-011</span></font></span></span></strong></span><font
style="font-family: tahoma,sans-serif;
color: rgb(0, 0, 0);" size="2"
face="tahoma, sans-serif">-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
style="font-family:
tahoma,sans-serif; color: rgb(0, 0,
0);" size="2"><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
style="font-family:
tahoma,sans-serif; color: rgb(0,
0, 0);" size="2"><span
style="font-weight: normal;
font-family: tahoma,sans-serif;">site: <a
moz-do-not-send="true"
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
style="font-family: tahoma,sans-serif;
color: rgb(0, 0, 0);" face="tahoma,
sans-serif"><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 moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a moz-do-not-send="true"
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>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>