[squeak-dev] Towards a more consistent and sensible implementation of #isAbstract

Marcel Taeumel marcel.taeumel at hpi.de
Sun Dec 10 08:53:31 UTC 2017


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.

Best,
Marcel
Am 10.12.2017 00:02:06 schrieb Chris Muller <asqueaker at gmail.com>:
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.

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.


On Thu, Dec 7, 2017 at 2:30 AM, Marcel Taeumel <marcel.taeumel at hpi.de [mailto:marcel.taeumel at hpi.de]> wrote:

Hi, there.

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:

MyClass class >> #isAbstract
   ^ self == MyClass

At the time of writing, we have various attempts in your image. You can browse them easily:


Best,
Marcel



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171210/647b5cff/attachment.html>


More information about the Squeak-dev mailing list