What do we call the supertype of Class and Trait?

jwalsh at bigpond.net.au jwalsh at bigpond.net.au
Tue Oct 4 20:58:53 UTC 2005


This may sound rediculous to you Stephane, but it is called Thought.
This is definately NOT an insult.
It is actually a subclass of Behavior. (minor design flaw).
It is not in Smalltalk because it was designed for very small children.
JW

---- "stéphane ducasse" <ducasse at iam.unibe.ch> wrote: 
> Difficult question...
> 
> Behavior is a good name for classes and traits.
> Behavior as in Smalltalk is more ClassEssence or ClassCore but we  
> cannot change that.
> 
> Stef
> 
> 
> On 4 oct. 05, at 04:42, Daniel Vainsencher wrote:
> 
> > Hi everyone.
> >
> > In many places in Squeak, we do things to classes. In many of  
> > those, we actually want to be doing those things also to Traits, or  
> > any other code-containing abstraction, probably. For example, we  
> > want to to be able to browse it, file it in/out and such.
> >
> > So what do we call this concept?
> >
> > Just to make the discussion more concrete, I'll give some specific  
> > cases:
> > -SysNav>>allClasses should probably only return real classes, but  
> > it is used in various places in which all Traits should be returned  
> > as well, for example Compiler recompileAll should recompile Traits,  
> > since otherwise some obsoletely compiled methods would remain even  
> > in classes : ones that are composed with Traits.
> > -In the tools, in many places we do something like
> > "self selectedClass ifNil:[^self]. <otherwise>"
> > In some of those places, we actually want to exclude Traits, and  
> > there I've been using #isBehavior: instead of #ifNil:, however  
> > Adrian and I are both somewhat inclined to think of Traits as being  
> > Behaviors, sort of. But clearly, we want some name that includes  
> > both, and some name that includes classes (and other Behavior  
> > subclasses?) but that excludes traits.
> >
> > So I'm asking for more opinions.
> >
> > Daniel
> >
> >
> 
> 




More information about the Squeak-dev mailing list