ANSI Common Lisp 4 Types and Classes 4.3 Classes
4.3.2 Defining Classes
The macro defclass is used to define a new named class.
The definition of a class includes:
The slot options and class options of
the defclass form provide mechanisms for the following:
- Supplying a default initial value form
for a given slot.
- Requesting that methods for generic functions
be automatically generated for reading or writing slots.
- Controlling whether a given slot is shared by
of the class or whether each
instance of the class has its own slot.
- Supplying a set of initialization arguments and initialization
argument defaults to be used in instance creation.
- Indicating that the metaclass is to be other
than the default. The :metaclass option is reserved for future use;
an implementation can be extended to make use of the :metaclass
- Indicating the expected type for the value stored
in the slot.
- Indicating the documentation string for the slot.