[squeak-dev] Towards a more consistent and sensible implementation of #isAbstract
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.
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:
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:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev