<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 30/9/25 00:12, Juan Vuletich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4a0b151f-18ad-4f4e-bab7-f21298d8e24c@cuis.st">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hi Jon,</p>
      <p>Yes, you're right. If Object needs to be aware of everything it
        is not, then it needs to be aware of everything that could
        possibly exist. Of course, that doesn't scale. #is: means 'if I
        don't even have a clue what you're asking for, then I'm not one
        of those'! In practical terms it means to avoid the need of
        everyone adding stuff to Object.</p>
    </blockquote>
    <p>I had a look at Object>>#is: and was thinking, how does
      that help?? A little later, looking at isFloatOrComplex - which
      was puzzling me as Kernel doesn't have Complex(?) - something
      clicked and I went "Oh. Nice!". Going back now to get rid of my
      Object>>isComplex.</p>
    <p>re isFloatOrComplex ... I assume that means that Complex was, at
      some point, part of the Kernel? </p>
    <p>Jonathan</p>
    <blockquote type="cite"
      cite="mid:4a0b151f-18ad-4f4e-bab7-f21298d8e24c@cuis.st">
      <p>Cheers,</p>
      <div class="moz-cite-prefix">On 28/09/2025 9:11 AM, Jon Raiford
        via Cuis-dev wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:BY3PR17MB5346C7B111955462FE3B0942BE18A@BY3PR17MB5346.namprd17.prod.outlook.com">
        <meta http-equiv="Content-Type"
          content="text/html; charset=UTF-8">
        <div dir="ltr"
style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
          I didn't notice anyone else pointing this out... Have a look
          at how many "is" methods are defined on Object in Cuis.
          Although it is a very common pattern in Smalltalk, in Cuis
          this was changed slightly. Yes, there are some common is
          methods like isString (and isComplex), but there is also the
          #is: method. The idea is to only implement #is: on your
          classes that should answer true. Have a look at implementors
          and senders to understand how it's implemented and used. I
          believe the purpose of this is to help prevent packages from
          adding methods to Object unnecessarily. </div>
        <div dir="ltr"
style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
          <br>
        </div>
        <div dir="ltr"
style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
          Jon</div>
        <div id="ms-outlook-mobile-signature"
          style="color: inherit; background-color: inherit;">
          <p
style="margin: 0in; font-family: Aptos, sans-serif; font-size: 11pt;"><span
              style="font-size: 12pt;"> </span></p>
        </div>
        <div id="mail-editor-reference-message-container"
          style="color: inherit; background-color: inherit;">
          <div class="ms-outlook-mobile-reference-message skipProofing"
style="text-align: left; padding: 3pt 0in 0in; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor; font-family: Aptos; font-size: 12pt; color: black;">
            <b>From: </b>Cuis-dev <a class="moz-txt-link-rfc2396E"
              href="mailto:cuis-dev-bounces@lists.cuis.st"
              moz-do-not-send="true"><cuis-dev-bounces@lists.cuis.st></a>
            on behalf of Jonathan Kelly via Cuis-dev <a
              class="moz-txt-link-rfc2396E"
              href="mailto:cuis-dev@lists.cuis.st"
              moz-do-not-send="true"><cuis-dev@lists.cuis.st></a><br>
            <b>Date: </b>Friday, September 26, 2025 at 8:31 PM<br>
            <b>To: </b><a
              class="moz-txt-link-abbreviated moz-txt-link-freetext"
              href="mailto:cuis-dev@lists.cuis.st"
              moz-do-not-send="true">cuis-dev@lists.cuis.st</a> <a
              class="moz-txt-link-rfc2396E"
              href="mailto:cuis-dev@lists.cuis.st"
              moz-do-not-send="true"><cuis-dev@lists.cuis.st></a><br>
            <b>Cc: </b>Jonathan Kelly <a class="moz-txt-link-rfc2396E"
              href="mailto:jonkelly@fastmail.fm" moz-do-not-send="true"><jonkelly@fastmail.fm></a><br>
            <b>Subject: </b>[Cuis-dev] smalltalk newbie - Complex<br>
            <br>
          </div>
          <div class="ms-outlook-mobile-reference-message skipProofing">Hi,<br>
            <br>
            I'm playing with Cuis smalltalk, and building a Complex
            class, so far so<br>
            good. But I want to add an  "isComplex" method on Object,
            and<br>
            an  "asComplex" method on Number, but I can't find a way to
            tell Cuis<br>
            that the new methods belongs to the Complex package.How do I
            make all my<br>
            changes belong to the Specific package they're related to?<br>
            <br>
            Thanks<br>
            <br>
            Jon<br>
            <br>
            --<br>
            Cuis-dev mailing list<br>
            <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
              href="mailto:Cuis-dev@lists.cuis.st"
              moz-do-not-send="true">Cuis-dev@lists.cuis.st</a><br>
            <a href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
              data-outlook-id="9c7d88bd-0074-4a21-939d-891b2cdefc87"
              moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.cuis.st/mailman/listinfo/cuis-dev</a></div>
        </div>
        <br>
        <fieldset class="moz-mime-attachment-header"></fieldset>
      </blockquote>
      <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis.st"
      moz-do-not-send="true">www.cuis.st</a>
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>