Flavors, an early object-oriented extension to Lisp developed by Howard Cannon at the MIT Artificial Intelligence Laboratory for the Lisp machine and its programming language Lisp Machine Lisp, was the first programming language to include mixins. Symbolics used it for its Lisp machines, and eventually developed it into New Flavors; both the original and new Flavors were message passing OO models. It was hugely influential in the development of the Common Lisp Object System (CLOS).
Implementations of Flavors are also available for Common Lisp.
New Flavors replaced message sending with calling generic functions.
:after daemons with the default method combination (called
Flavors offers a few features not found in CLOS:
SENDfunction for sending messages.
CLOS offers the following features not found in Flavors:
|local component flavor||direct superclass|
|local dependent flavor||direct subclass|
|generic function||generic function|
|combined method||effective method|
|method option||method qualifier|
|ordering of flavor components||class precedence list|