<!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>
    On 11/29/2024 6:10 AM, Hernán Wilkinson via Cuis-dev wrote:
    <blockquote
cite="mid:CAGgF3Gynn_daQASKpgkS0fh1PER5M1wf7DHNiWkJ=q2e365OCw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi Luciano,
        <div> I think that makes sense from the design point of view but
          if I'm not wrong, those two classes are just an intermediate
          step to the final design where only one will exist ... I think
          Juan knows better about this.</div>
      </div>
    </blockquote>
    <br>
    No, that was true for the previous two Character classes.<br>
    <br>
    We could think about unifying stuff and having only a
    (Unicode)String and a (Unicode)Symbol classes. We'd need to check
    the VM, and maybe make some tweaks for this to work. So far, I don't
    see the need. The current design works quite well. Only when
    interfacing with the VM or FFI programmers need to be aware of
    having two String and two Symbol classes. During image level
    Smalltalk development, polymorphism does its magic for us, just like
    it does for the six concrete Number classes we use.<br>
    <br>
    <blockquote
cite="mid:CAGgF3Gynn_daQASKpgkS0fh1PER5M1wf7DHNiWkJ=q2e365OCw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div> There is another thing I'd like to talk about because you
          use the word equality to reference == and I use the word
          identity... for me == means "identical object" and = means
          "objects that represent the same entity" (when I say "means",
          I should say "are used to know if ..." )... anyway, just a
          comment because it "surprised" that you used the word equality
          for == </div>
        <div><br>
        </div>
        <div>Cheers!</div>
        <div>Hernan.</div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Fri, Nov 29, 2024 at
          4:28 AM Luciano Notarfrancesco 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>
            <div>
              <p dir="auto">If we think of == as equality, and = as an
                equivalence relation, the Symbol #xxx is just the
                equivalence class of all Strings ‘xxx’, and any String
                instance ‘xxx’ is a representative of that equivalence
                class. This construction is useful if you need to use
                objects under equality = in a context where equality is
                == (for example, keys of an IdentityDictionary). And, an
                IdentityDictionary with Symbols as keys is just like a
                Dictionary with Strings as keys. So, from this point of
                view, a symbol should be all about equality, about = and
                #hash.<br>
              </p>
              <p dir="auto">Now, in Cuis we have two parallel symbol
                classes depending on the type of characters in their
                names: Symbol and UnicodeSymbol. Would it be better to
                replace this with a single and more general Symbol with
                an instance variable ‘representative’, that can be a
                String, or a UnicodeString (or possibly any object)?
                What do you think?</p>
            </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><br clear="all">
      </div>
      <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><span
                            style="font-size: 8pt;"><span
                              style="font-size: small;"><font size="2"><span
                                  style="font-weight: normal;"><span
                                    style="font-weight: bold;">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><span
                            style="font-size: 8pt;"><span
                              style="font-size: small;"><font size="2"><span
                                  style="font-weight: normal;">Phone:
                                  +54-011</span></font></span></span></strong></span><font
                        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;"><span style="font-size: small;"><font
                              size="2"><span style="font-weight:
                                normal;">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><span
                            style="font-size: 8pt;"><span
                              style="font-size: small;"><font size="2"><span
                                  style="font-weight: normal;">site: <a
                                    moz-do-not-send="true"
                                    href="http://www.10pines.com/"
                                    style="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"><span style="border-collapse:
                          collapse;">Address: Alem 896</span></font>,
                      Floor 6, Buenos Aires, Argentina</div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Thanks,<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>