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