The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp (CL). Originally proposed as an add-on, CLOS was adopted as part of the ANSI standard for CL. CLOS is a dynamic object system which differs radically from the OOP facilities found in static languages such as C++ or Java. It is inspired by earlier Lisp object systems such as MIT Flavors and Common LOOPS, although it is more general than either.
CLOS is a multiple dispatch system. This means that methods can be specialized upon the types of all of their arguments. Most OO languages are single-dispatch, meaning that methods are only specialized on the first argument. Methods in CLOS are grouped into generic functions; a generic function is a collection of methods with the same name and argument structure, but with differently-typed arguments.
Like the OO systems in most dynamic languages (such as Python), CLOS doesn't provide encapsulation. Any data member (or slot) can be accessed using the slot-value function. CL programmers use the language's package facility to declare which functions or data structures are intended for export.
Artificial Intelligence
Comparison and Review :: Languages
Functional :: Languages
Object Oriented :: Garbage Collected
Multiparadigm :: Interpreted
Multiparadigm :: Languages
Class based :: Object Oriented
Open Source :: Languages
Reflective :: Languages

Cetus Links: CLOS - Links to general LISP information, including newsgroups and mailing lists.
Meta Description: [ Cetus Links: 16604 Links on Objects and Components / CLOS / Common Lisp ]
Implementation of DBC - Document and source code on implementation of DBC for CLOS.
MetaObject Protocol: MOP - CLOS MOP specification.
| Bile Reflux and the Mini-Gastric Bypass | |
| Next Video | |