Node:Basic Instance Creation, Next:, Up:Creating Instances



3.3.1 Basic Instance Creation

To create a new instance of any GOOPS class, use the generic function make or make-instance, passing the required class and any appropriate instance initialization arguments as keyword and value pairs. Note that make and make-instances are aliases for each other - their behaviour is identical.

make generic
make (class <class>) . initargs method
Create and return a new instance of class class, initialized using initargs.

In theory, initargs can have any structure that is understood by whatever methods get applied when the initialize generic function is applied to the newly allocated instance.

In practice, specialized initialize methods would normally call (next-method), and so eventually the standard GOOPS initialize methods are applied. These methods expect initargs to be a list with an even number of elements, where even-numbered elements (counting from zero) are keywords and odd-numbered elements are the corresponding values.

GOOPS processes initialization argument keywords automatically for slots whose definition includes the #:init-keyword option (see init-keyword). Other keyword value pairs can only be processed by an initialize method that is specialized for the new instance's class. Any unprocessed keyword value pairs are ignored.

make-instance generic
make-instance (class <class>) . initargs method
make-instance is an alias for make.