Traits and Personalities ======================== @INPROCEEDINGS{black:traits, AUTHOR = "Andrew Black and Nathanael Schaerli and Stephane Ducasse", TITLE = "Applying Traits to the Smalltalk Collection Classes", BOOKTITLE = oopsla, YEAR = "2004", ADDRESS = "Anaheim, CA", PAGES = "47-64", EDITOR = "Guy Steele", PUBLISHER = "ACM Press" } http://www.iam.unibe.ch/~schaerli/smalltalk/traits/traitsPrototype.htm is an interesting paper with a similar motivation as our work on personalities presented at an OOPSLA '98 workshop and at SEKE 1999. http://www.ccs.neu.edu/research/demeter/personalities/ http://www.ccs.neu.edu/research/demeter/biblio/personalities.html Commonalities: Both works, TRAITS and PERSONALITIES, make the point that single inheritance is not up to the task of supporting a wide range of abstractions. TRAITS (OOPSLA 2004): "In essence: traits are first class collections of methods that can be reused by classes anywhere in the inheritance hierarchy." PERSONALITIES (OOPSLA 1998 workshop): "Personalities model stand alone behavior. Allowing behavior to stand alone, enables its reuse in different places in the inheritance hierarchy. The OOPSLA 2004 paper shows a very useful application of the Personality Design Pattern: http://www.ccs.neu.edu/research/demeter/adaptive-patterns/personalities/personality-pattern.html PERSONALITIES and TRAITS have a dynamic nature. Differences: TRAITS have interesting composition operators. PERSONALITIES have a Law of Demeter-like style rule associated with them. How does an expression of the Smalltalk hierarchy using personalities look like?