Does CMUCL do anything to enforce the types on class slots?
For instance, I have the definition:

(defclass dataset ()
  ((data :type (simple-array datapoint *) :initarg data :reader dataset-data)
   (num-points :type fixnum :reader dataset-num-points)
   (num-dimensions :type fixnum :reader dataset-num-dimensions)))

but even though num-points and num-dimensions are type-declared as
fixnum, I can later setf the slots to arbitrary values.  Am I missing
something?  This seems problematic for generating efficient code.

Cheers,

rif


Reply via email to