Enhancing squeak base classes

J J azreal1977 at hotmail.com
Sat Mar 10 20:47:25 UTC 2007


>From: "Damien Cassou" <damien.cassou at gmail.com>
>Reply-To: The general-purpose Squeak developers 
>list<squeak-dev at lists.squeakfoundation.org>
>To: "The general-purpose Squeak developers 
>list"<squeak-dev at lists.squeakfoundation.org>
>Subject: Re: Enhancing squeak base classes
>Date: Wed, 7 Mar 2007 10:42:14 +0100
>
>I do not use any tool but the standard OmniBrowser. I will try TraitOB
>soon but don't like the fact that it overrides lots of things and
>implements a new browser instead of enhancing the current one.

Ah, that has traits tools in it?

>2007/3/6, J J <azreal1977 at hotmail.com>:
>
>I think it's more like the second solution but you will tell me. What
>I do is separating the different protocols that can be found in
>streams: one trait for reading behavior (#next, #peek, #skip:...), one
>trait  for accessing postion (#position, #position:, #setToEnd,
>#reset...), one trait for writing... Then, I implement the classes
>that can be found in the base image. For example, ReadStream is a
>combinaison of reading behavior and accessing position (I renamed it
>ReadableCollectionStream).

Well it is hard to say, and perhaps Andreas' concerns that this is a feature 
that simply is too hard to get right are correct.  What I would say is; if 
it makes sense as inheritance then it shouldn't be a trait.  I.e. "Eq" (has 
a concept of equality) doesn't make sense as a class because of the kind of 
hierarchy results from making it so.  Streams on the other hand, don't 
strike me as a hierarchy that would go too deep, and therefor might make 
more sense with simple inheritance.  But I guess we will know soon enough. 
:)

_________________________________________________________________
Play Flexicon: the crossword game that feeds your brain. PLAY now for FREE.  
  http://zone.msn.com/en/flexicon/default.htm?icid=flexicon_hmtagline




More information about the Squeak-dev mailing list