Node:Class Options, Next:, Previous:Basic Class Definition, Up:Defining New Classes



3.2.2 Class Options

#:metaclass metaclass class option
The #:metaclass class option specifies the metaclass of the class being defined. metaclass must be a class that inherits from <class>. For an introduction to the use of metaclasses, see Metaobjects and the Metaobject Protocol and Metaclass.

If the #:metaclass option is absent, GOOPS reuses or constructs a metaclass for the new class by calling ensure-metaclass (see ensure-metaclass).

#:name name class option
The #:name class option specifies the new class's name. This name is used to identify the class whenever related objects - the class itself, its instances and its subclasses - are printed.

If the #:name option is absent, GOOPS uses the first argument to define-class as the class name.

#:environment environment class option
*fixme* Not sure about this one, but I think that the #:environment option specifies the environment in which the class's getters and setters are computed and evaluated.

If the #:environment option is not specified, the class's environment defaults to the top-level environment in which the define-class form appears.