Hi again,
Section "2.23.2 Slot Type Checking" continues to puzzle me, especially
the fact that you have to be within *methods* for the :type slot option
to be taken in consideration when writing something to a slot. For
instance, with:
(defclass foo ()
((a :type fixnum)))
(defvar *object* (make-instance 'foo))
(setf (slot-value *object* 'a) 3.5) ;; this works like a charm
but:
(defmethod setslot ((foo foo) val)
(setf (slot-value foo 'a) val))
(setslot *object* 3.5) ;; triggers a type error
Can somebody provide a rationale for this ??
Thanks.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-BicĂȘtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22