- Source: Flavors (programming language)
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.
Flavors offers :before and :after daemons with the default method combination (called :daemon).
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.
Terminology
References
Veitch, Jim (1998). "A History and Description of CLOS". In Salus, Peter H. (ed.). Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages (1st ed.). Macmillan Technical Publishing. pp. 107–158. ISBN 1-57870-011-6.
Further reading
Moon, David A. (June 1986). "Object-Oriented Programming with Flavors" (PDF). Conference proceedings on Object-oriented Programming Systems Languages and Applications. OOPSLA '86. pp. 1–8. doi:10.1145/28697.28698. ISBN 978-0-89791-204-4. S2CID 17150741. Retrieved March 17, 2022.
"Flavors, Technical Report", MIT Artificial Intelligence Laboratory, Cambridge (Mass.), 1980
Daniel Weinreb and David A. Moon, "Flavors: Message Passing in the Lisp Machine", A.I. Memo No. 602, November 1980, MIT AI Lab
Kata Kunci Pencarian:
- Flavors (programming language)
- Flavor
- List of programming languages
- Object-oriented programming
- Programming language
- Lisp (programming language)
- Logo (programming language)
- Arc (programming language)
- Euphoria (programming language)
- Rust (programming language)