3 ms·
Mixins are from Flavors, not CLOS. CLOS has no special support for mixins - they are just a sub-functionality of CLOS.
by lispm 12y ago
Mixins are from Flavors, not CLOS. CLOS has no special support for mixins - they are just a sub-functionality of CLOS.
- seanmcdirmid 12y agoThanks, my understanding of history is probably a bit confused: http://en.wikipedia.org/wiki/Mixin#In_Common_Lisp http://en.wikipedia.org/wiki/Mixin#In_Common_Lisp In RPG's inconsumerability essay [1], he describes it like: > In that paper they described looking at Beta, Smalltalk, Flavors, and CLOS, and discovering a mechanism that could account for the three different sorts of inheritance found in these languages—including mixins from Flavors and CLOS. They did come from Flavors first regardless (mixins being named after an ice cream shop with mixins near MIT, so I heard). I think it was also the first system to allow for aspect advice via a first-class construct. [1] http://www.dreamsongs.com/Files/Incommensurability.pdf http://www.dreamsongs.com/Files/Incommensurability.pdf
- lispm 12y agoMixins were introduced with Flavors by Howard Cannon in 1979. Flavors/Mixins were used to implement some of the early MIT Lisp Machine user interface, IO and networking code. http://lispm.de/docs/Publications/Flavors/Flavors,%20a%20non-hierarchical%20approach%20to%20object-oriented%20programming.pdf http://lispm.de/docs/Publications/Flavors/Flavors,%20a%20non... 'aspect advice' was mostly introduced in Lisp in 1966 by Warren Teitelman: http://dspace.mit.edu/handle/1721.1/6905 http://dspace.mit.edu/handle/1721.1/6905 See the discussion of ADVISE and a BEFORE example in the paper... From there it came to Interlisp, Maclisp, Flavors and CLOS...
- seanmcdirmid 12y agoThanks. The Teitelman work is what I cite as the introduction of aspects, but I didn't realize it was more than just a pattern back then.