What do we call the supertype of Class and Trait?
Daniel Vainsencher
daniel.vainsencher at gmail.com
Tue Oct 4 02:42:32 UTC 2005
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
|