[self-interest] Paper on Traits.

ungar at mac.com ungar at mac.com
Sun Sep 25 18:13:39 UTC 2011

Small correction:

When I started using "traits", I don't think I knew about Adele's work.
I used the term because it had to do with inheritance, and I was going with a biological metaphor.
That's how I remember it. Maybe I'll ask Randy about it.

"mixins" was borrowed from some MIT Lisp work. But ours were far simpler (and less powerful).

I believe when "traits" was resurrected later in the OOPSLA papers, they were influenced by Self, according my recollection of conversations with authors.

- David

On Sep 25, 2011, at 10:51 AM, Jecel Assumpcao Jr. wrote:

> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20110925/e169c060/attachment.html>

More information about the Self-interest mailing list