Classes as Packages (was: Harvesting infrastructure)

Stephan Rudlof sr at evolgo.de
Mon Nov 25 15:21:48 UTC 2002


Dear Nathanael, Dear Anthony,

many thanks to you for this very interesting discussion!

It was delightful for me to follow it. For me such things are the highlights
of this list.


Greetings,

Stephan

Nathanael Schärli wrote:
> Hi Anthony,
> 
> 
>>What do you think of 
>>getting rid of classes and just using traits with accessors 
>>as I have explained.
> 
> 
> Well, I agree with you that decreasing the number of different concepts
> and making things more uniform has something nice to it. This is part of
> the reason why I mentioned the experiment of "getting rid of
> inheritance" in the future work section of the Traits paper. However,
> since Squeak (rsp. ST-80) is an old language with many different users
> and a enormeous amount of existing code, I think that backwards
> compatibility is also an important issue. 
> 
> 
>>I'm proposing that we replace instance variables with accessor 
>>methods,
>>so all behaviors are just collections of methods and equally reusable.
>>It's like shifting the state responsibility from the behavior to the
>>method, which I think is appropriate since even local senders don't 
>>care
> 
> 
> I definitely like the idea of replacing instance variables through
> accessor methods. This one thing about SELF I always liked. However, I
> have to think more about how a concerete implementation would actually
> work (performance, etc.)
> 
> 
>>(1) remove classes and single inheritance from Traits, and
> 
> 
> This is a point where I am concerned about the backwards compatibility.
> If we do that, this means that "super" does not exist anymore.
> Therefore, much of the existing code had to be rewritten and it would
> not be possible to write "traditional single-inheritance" code anymore. 
> 
> As I said, from a theoretical/conceptual standpoint, this may be the way
> to go. But I'm not sure whether we are already there and whether the
> Squeak users would really like this. In addition, I have some more ideas
> about improving Traits (stateless MI, or however we want to call it) so
> that the gap between what we have now and what we would have if we took
> away inheritance would be less big. But that needs some more time to
> think about...
> 
> Nathanael
> 
> 
> 
> 
>>-----Original Message-----
>>From: squeak-dev-admin at lists.squeakfoundation.org 
>>[mailto:squeak-dev-admin at lists.squeakfoundation.org] On 
>>Behalf Of Anthony Hannan
>>Sent: Wednesday, November 20, 2002 4:52 AM
>>To: squeak-dev at lists.squeakfoundation.org
>>Subject: RE: Classes as Packages (was: Harvesting infrastructure)
>>
>>
>>Nathanael Scharli <n.schaerli at gmx.net> wrote:
>>
>>>Anthony,
>>>I completely agree with you. The way 'super' is bound really is the 
>>>crucial difference.
>>
>>I never got this message earlier (I don't know what's wrong 
>>with my mail).  I'm so glad we agree.  What do you think of 
>>getting rid of classes and just using traits with accessors 
>>as I have explained.
>>
>>Cheers,
>>Anthony
>>
> 
> 
> 
> 


-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3




More information about the Squeak-dev mailing list