chickadee » tinyclos » define-class

(define-class NAME (SUPERCLASS ...) (SLOT-NAME ...) [METACLASS])syntax

Sets the variable NAME to a new class: a new instance of the class <class> or METACLASS, if supplied.

SUPERCLASS ... is a list of superclasses of the newly created class. If no superclasses are given, then <object> is assumed.

SLOT-NAME ... are the names of the direct slots of the class. A SLOT-NAME is a symbol.

By convention, identifiers bound to classes in TinyCLOS are denoted by angle brackets as above. This is not required, however. A class may be bound to any identifier without affecting the behavior of the system.

(define-class NAME (SUPERCLASS ...) (SLOT-NAME ...) METACLASS)

is equivalent to

(define NAME
  (make METACLASS
        'name 'NAME
        'direct-supers (list SUPERCLASS ...)
        'direct-slots (list 'SLOT-NAME ...)) )