<!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>