Top Qs
Timeline
Chat
Perspective
Flavors (programming language)
Programming language From Wikipedia, the free encyclopedia
Remove ads
Flavors,[1] 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.[2] 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).[3]
Implementations of Flavors are also available for Common Lisp.[4]
New Flavors replaced message sending with calling generic functions.
Flavors offers :before
and :after
daemons with the default method combination (called :daemon
).
Remove ads
Flavors and CLOS features comparison
Flavors offers a few features not found in CLOS:
- Wrappers
- Automatic lexical access to slots using variables within methods.
- Internal flavor functions, macros and substs.
- Automatically generated constructors.
DEFFLAVOR
options::required-methods
,:abstract-flavor
,:mixture
.SEND
function for sending messages.
CLOS offers the following features not found in Flavors:
- Multimethods
- Methods specialized on individual objects (via
EQL
). - Methods specialized on Common Lisp types (symbol, integer, ...).
- Methods specialized on def-struct types.
- Class slots.
Remove ads
Terminology
Remove ads
References
Further reading
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads