[self-interest] Paper on Traits.

Jecel Assumpcao Jr. jecel at merlintec.com
Sun Sep 25 17:51:36 UTC 2011


Jan-Paul,

It is very important to note that some words are used in different ways
in different projects. Otherwise you can have some very confusing
discussions.

"Traits" in Self come from Adele Goldberg's teaching scheme for early
Smalltalk where she purposely used different words than the standard
jargon to informally introduce ideas before moving on to the actual
details for the language. So she would first get people to think about
which "traits" an object might have before showing them the "class" that
implemented the idea.

Beyond "traits", Self also has "mixins". These names are just
conventions and at the language level we just have parent objects, but
the different names indicate the different intent behind these objects.

Several languages, including Strongtalk which evolved from Self, have
"mixins" as an important feature. So when the research group at Bern
decided to add to Squeak a modified version of "mixins", they decided to
use a different name so their changes wouldn't be overlooked. That is
what "traits" in Squeak or Pharo are. This has been copied in several
other projects and languages and so is currently what is normally
understood by the term. This is, however, different from what is
described in the paper that David indicated.

Back when JIT implementations were less common, one term that caused a
lot of confusion was "compiler". For Smalltalk-80 the term meant the
source the bytecode translation program while for Self that was called
the "parser" and "compiler" meant the bytecode to native machine code
translator instead.

> Btw, Davidmay I humbly ask you on your thoughts on Io as a language ^^?
> Another grab bag one, or maybe a worthy successor to Self if enhanced
> with its Environment ;)?

I am not David (either one ;-) , but I have been a part of the Io
community since the very beginning. This is another case of the same
words being used differently and causing confusion. Io comes from the
Newtonscript tradition of "prototypes", not the Self style. Even Steve
Dekorte was confused about this for a very long time, and I can't blame
him since when I first read "The Power of Simplicity" paper I also
imagined something like Io rather than what Self actually is. But those
ideas are actually from Henry Lieberman's 1986 "Using Prototypical
Objects to Implement Shared Behavior in Object-Oriented Systems" paper
instead.

While I like Io, it has never had the kind of implementation technology
that Self has always had and which recently has also come to Javascript.
That community is actually smaller and currently less active than the
Self one, so I wouldn't expect world domination from that direction any
time soon.

-- Jecel




More information about the Self-interest mailing list