15.1 Initialization

When creating an object of any type, you can use its constructor, or make-instance. This, in turns calls the method initialize-instance, which then calls the method shared-initialize.

These methods are all implemented on the default superclass so you do not need to write them yourself, unless you need to override one of their behaviors.

Users should not need to call initialize-instance or shared-initialize, as these are used by make-instance to initialize the object. They are instead provided so that users can augment these behaviors.

Function: initialize-instance obj &rest slots

Initialize obj. Sets slots of obj with slots which is a list of name/value pairs. These are actually just passed to shared-initialize.

Function: shared-initialize obj &rest slots

Sets slots of obj with slots which is a list of name/value pairs.

This is called from the default constructor.