<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-12-10 9:53 GMT+01:00 Marcel Taeumel <span dir="ltr"><<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div id="gmail-m_5371008957895728852__MailbirdStyleContent" style="font-size:12pt;font-family:calibri;color:rgb(0,0,0)">
                                        So it comes down to what "being abstract" actually means in the environment. :-) I think it means #== considering the current VM and the role of classes. Not sure in a the generic, object-oriented sense, though.<div><br></div><div>Best,</div><div>Marcel</div><div><div class="gmail-h5"><blockquote class="gmail-m_5371008957895728852history_container" type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px">
                        <p style="color:rgb(170,170,170);margin-top:10px">Am 10.12.2017 00:02:06 schrieb Chris Muller <<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>>:</p>
<div dir="ltr">With objects you should delegate to the the receiver to decide what #= means -- which in most cases will inherit that default implementation from Object anyway.  Sending #== is generally bad form.<div><br></div><div>Converting uses of #= to #== for "performance" is a bad idea except in the most inner, performance-critical code, and even then, it should be with a comment.</div><div><br></div></div></blockquote></div></div></div></div></blockquote>Absolutely, if it's only for the sake of optimization, it's a bad decision.</div><div class="gmail_quote">Not to mention that isAbstract is not performance critical at all.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Maybe the intention is to really test for identity.</div><div class="gmail_quote">That's because we have the knowledge that classes are the unique instance of their metaclass.</div>So using = could be seen as an un-necessary indirection.</div><br><div class="gmail_extra">Reducing the level of indirection may reduce complexity.</div><div class="gmail_extra">But it is also reducing extensibility as noted by Marcel.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">But do we want to elimiate complexity at all?</div><div class="gmail_extra">I see this related to "complex versus complicated" and the original biological analogy.</div><div class="gmail_extra"><div class="gmail_extra">Are resilient/adptative systems necessarily complex?<br></div></div>If so, ideally such complex system should be built from simple behavior/rules.<div class="gmail_extra">What we want to avoid if possible is complicated things.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Nicolas<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div id="gmail-m_5371008957895728852__MailbirdStyleContent" style="font-size:12pt;font-family:calibri;color:rgb(0,0,0)"><div><div class="gmail-h5"><blockquote class="gmail-m_5371008957895728852history_container" type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px"><div dir="ltr"><div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 7, 2017 at 2:30 AM, Marcel Taeumel <span dir="ltr"><<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_5371008957895728852m_-5716622036691338169__MailbirdStyleContent" style="font-size:12pt;font-family:calibri;color:rgb(0,0,0)">Hi, there.<div class="gmail-m_5371008957895728852m_-5716622036691338169mb_sig"></div><div><br></div><div>What are your thoughts on how to implement "MyClass class >> #isAbstract"? I think that one should always use #== and compare it to an actual class object like this:</div><div><br></div><div>MyClass class >> #isAbstract</div><div>   ^ self == MyClass</div><div><br></div><div>At the time of writing, we have various attempts in your image. You can browse them easily:</div><div><br></div><div><img width="auto"></div><div><br></div><div>Best,</div><div>Marcel</div></div><br><br>
<br></blockquote></div><br></div>

                        </blockquote>
                                        </div></div></div></div><br><br>
<br></blockquote></div><br></div></div>