Consider the following definitions:
(defclass <thing> () (size :type <number> :initarg :size :initvalue 100) (location :type <symbol> :initarg :location :initvalue 'nowhere)) (defclass <animal> (<thing>) (name :type <top> :initarg :name :initvalue 'anonymous) (hunger :type <number> :initarg :hunger :initvalue -1)) (defclass <vegetable> (<thing>) (nutritional-value :type <number> :initvalue 0)) (defclass <mineral> (<thing>) (worth :type <number> :initvalue 0)) (defclass <venus-flytrap> (<animal> <vegetable>) (favorite-meals :type <list> :initvalue '(flies))) (defclass <fly> (<animal>)) (define popeye (make <animal> :size 150 :name 'popeye)) (define spinach (make <vegetable> :location 'grocery-store)) (define milo (make <venus-flytrap> :name 'milo))
popeye | spinach | milo |