; Get the stored value of a slot
(defun slot-value (object slot-name)
(get object slot-name))
; Set the stored value of a slot
(defun set-slot-value (object slot-name value)
(setf (get object slot-name) value) )
; Tell Lisp how to store a slot value,
; e.g. (setf (slot-value obj slot) val)
(defsetf slot-value set-slot-value)
; get the names of all slots defined for a class
(defun slot-names (class)
(let (names)
(setq names (mapcar #'car
(get class 'slots)))
(dolist (super (get class 'supers))
(setq names (union names
(slot-names super))) )
names))
Contents    Page-10    Prev    Next    Page+10    Index