<div dir="ltr"><div dir="ltr"><div>It's just an old method/comment that no one seems to want to fix. There's no reference to #species in the draft ANSI spec. I like GNU Smalltalk's comment <a href="https://www.gnu.org/software/smalltalk/manual-base/html_node/Object_002dclass-type-methods.html">https://www.gnu.org/software/smalltalk/manual-base/html_node/Object_002dclass-type-methods.html</a> (basically nicely says 'good luck with that') After perusing what few species references I found out there, confusion/disdain for it seems common. I have my answer: I'll stop using it.</div><div><br></div><div>'This area is wet. It has always been wet. We would have done something to preventing you from slipping... but it's wet. A note to anyone passing by: please do not turn off the water.'</div><div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 3, 2019 at 7:24 AM Juan Vuletich <<a href="mailto:juan@jvuletich.org">juan@jvuletich.org</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"><u></u>
<div bgcolor="#ffffff">
Hi Phil,<br>
<br>
species<br>
"Answer the preferred class for reconstructing the receiver. For
example, <br>
collections create new collections whenever enumeration messages
such as <br>
collect: or select: are invoked. The new kind of collection is
determined by <br>
the species of the original collection. Species and class are
not always the <br>
same. For example, the species of Interval is Array."<br>
<br>
On 10/2/2019 10:32 PM, Phil B wrote:
<blockquote type="cite">
<div dir="ltr">...
<div class="gmail_quote">
<div><br>
</div>
<div>Fair point: the first line in the comment and the last
seem contradictory. So which one wins? (The 'species and
class are not always the same' part is consistent with the
first line, the particular example that follows doesn't seem
to be)</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#ffffff"> So it seems that #species tries to
be too many different things at once...<br>
</div>
</blockquote>
<div><br>
</div>
<div>I would agree with that. That's why I'm pressing the
issue... I'd like us to at least agree what it means in Cuis
and use it consistently. Having it mean X except when it
doesn't isn't terribly useful. Having it mean X, Y or Z
(which are mutually exclusive) is even worse.</div>
</div>
</div>
</blockquote>
<br>
I agree. That very comment is already contradictory. As this very
thread shows, different people have understood it differently. And
given that this message seems to be quite old, it might be present
in other dialects (Squeak derived or not), and in ANSI Smalltalk.
I'm not sure there's much we can do, besides trying not to break too
much code...<br>
<pre cols="72">--
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" target="_blank">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" target="_blank">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</div>
</blockquote></div></div>