(:export #:compatible-class
#:copy-instance #:copy-instance-using-class
#:initargs-for-effective-slot #:make-effective-slot
(:export #:compatible-class
#:copy-instance #:copy-instance-using-class
#:initargs-for-effective-slot #:make-effective-slot
(defmethod compute-effective-slot-definition
((class compatible-class) slot-name direct-slots)
"Construct an effective slot definition for the given slot."
(defmethod compute-effective-slot-definition
((class compatible-class) slot-name direct-slots)
"Construct an effective slot definition for the given slot."
;;
;; Ideally we don't want to mess with a slot if it's entirely handled by
;; the implementation. This check seems to work OK.
;;
;; Ideally we don't want to mess with a slot if it's entirely handled by
;; the implementation. This check seems to work OK.
(defun print-object-with-slots (obj stream)
"Prints objects in a pleasant way. Not too clever about circularity."
(defun print-object-with-slots (obj stream)
"Prints objects in a pleasant way. Not too clever about circularity."