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