ENSURE-CLASS. ENSURE-CLASS - DEFCLASS. , DEFCLASS, , .
MAKE-INSTANCE, , , . ENSURE-CLASS-USING-CLASS.
standard-class, CCL , , , .
, , .
CCL:
? (ensure-class 'my-class
:direct-slots '((:name x
:readers (get-x)
:writers ((setf get-x))))
:direct-superclasses (list (find-class 'standard-object)))
? (find-class 'my-class)
? (let ((foo (make-instance 'my-class)))
(setf (get-x foo) 10)
(incf (get-x foo) 32)
(get-x foo))
42
LispWorks . standard-class, - standard-object.
CL-USER 25 > (clos:ensure-class 'foobar
:direct-slots '((:name x
:readers (get-x)
:writers ((setf get-x)))))
#<STANDARD-CLASS FOOBAR 4020001713>
CL-USER 26 > (class-direct-superclasses *)
(#<STANDARD-CLASS STANDARD-OBJECT 40E018E313>)