Stateful traits (was Re: [ANN] Open meeting regarding the Squeak Release Team)

Jason Johnson jason.johnson.081 at gmail.com
Mon Feb 11 08:05:56 UTC 2008


On Feb 9, 2008 9:17 PM, stephane ducasse <stephane.ducasse at free.fr> wrote:
>
> there are all on my web pages or on the scg ones.
>
> > and
> > stateful traits, but one thing I never saw was: what is the
> > fundamental difference between stateful traits and multiple
> > inheritance?
>
> conceptually none except that traits are working in the concept of
> single inheritance. The point of traits was how can we get the reuse
> and expressive power of MI in the simplicity of single inheritance.
>
> About stateful traits, consider what you read as an experiment.
> I do not want to push that in squeak or another language. I would like
> to
> learn what is really useful and a lot more. This is why we reimplemented
> from scratch streams: to see if we really needed "stateful traits" or
> any version
> of it. I think that stateless traits are quite stable now stateful
> traits are introducing
> too much operators.... What is important to understand is that this is
> not
> because we wrote a paper that we like the results :)

I didn't intend to imply anything like that.  I was just curious about
the fundamental difference.  The terminology is obviously different,
but for me data+methods is an object what ever it's called.  In that
context stateful traits seemed like MI with everything outside the
main inheritance line named differently.

Of course you probably deal with conflicts differently then existing
MI systems, and there should probably be more research done on MI.
C++ did an awful job of it, but I've heard good things about Lisp
CLOS.  In C++ one can potentially have very deep (unnaturally so)
class hierarchies due to pressure from the type system but neither
Smalltalk nor Lisp have that problem.



More information about the Squeak-dev mailing list