Flavors (computer science)
   HOME

TheInfoList



OR:

Flavors, an early object-oriented extension to Lisp developed by Howard Cannon at the
MIT Artificial Intelligence Laboratory Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Lab ...
for the
Lisp machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, they ...
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 In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its support ...
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.Flavors for Allegro CL
/ref> New Flavors replaced message sending with calling generic functions. Flavors offers and daemons with the default method combination (called ).


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. * options: , , . * function for sending messages. CLOS offers the following features not found in Flavors: * Multimethods * Methods specialized on individual objects (via ). * Methods specialized on Common Lisp types (symbol, integer, ...). * Methods specialized on def-struct types. * Class slots.


Terminology


References

*


Further reading

* * "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 {{Lisp programming language Lisp programming language family Object-oriented programming languages