CLOS
The Common Lisp Object System is based on generic functions, multiple inheritance, and declarative method combination. Many implementations also have a meta-object protocol, or MOP, often based on that described in AMOP

Any purporting-to-conform ANSI CL implementation will have CLOS built in. There are also "add-on" implementations from before it was part of standard CL: Closette is the code developed in the AMOP book and probably not practically useful, whereas PCL is fully-featured (if slower than a typical tuned commercial implementation might be) and has been used as the basis for the CLOS support in e.g. CMUCL and SBCL

Web pages:

Topic listing:

See also

(defclass/std example () ((slot1 slot2 slot3)))

expands to

(DEFCLASS EXAMPLE () ((SLOT1 :ACCESSOR SLOT1 :INITARG :SLOT1 :INITFORM NIL) (SLOT2 :ACCESSOR SLOT2 :INITARG :SLOT2 :INITFORM NIL) (SLOT3 :ACCESSOR SLOT3 :INITARG :SLOT3 :INITFORM NIL)))

It is very flexible. The repository contains examples from other projects (Clack, etc).