From: Christophe R. <cs...@ca...> - 2003-05-07 13:48:38
|
Pascal Bourguignon <pj...@in...> writes: > The point is that while a (ARRAY (ARRAY BASE-CHAR *) *) has to be > implemented as an (ARRAY T *), it must not forget that it contains > actually (ARRAY BASE-CHAR *). Yes it must. It is required to by the ANSI standard for the language. See the CLHS page for System Class ARRAY: If element-type is the symbol *, arrays are not excluded on the basis of their element type. Otherwise, only those arrays are included whose actual array element type is the result of upgrading element-type; see Section 15.1.2.1 (Array Upgrading). Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge) |