Mixins 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...
'aspect advice' was mostly introduced in Lisp in 1966 by Warren Teitelman: 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...
Re:Clojure 2014 Year in Review
by seanmcdirmid on Friday January 02, 2015 @07:42PM
(#8829411)
Thanks. 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.
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