2
如果我正确理解Common Lisp标准的Section 15.1.2.1,则(upgraded-array-element-type '(unsigned-byte 8))
为'(unsigned-byte 16)
或甚至t
是完全合法的。因此我的问题是关于实现的实际行为。阵列升级
当前是否有任何实现在使用'(unsigned-byte 8)
或'(unsigned-byte 16)
进行升级?换句话说,当下面的是假:
(and (subtypep (upgraded-array-element-type '(unsigned-byte 8)) '(unsigned-byte 8))
(subtypep (upgraded-array-element-type '(unsigned-byte 16)) '(unsigned-byte 16))
(表达为SBCL,CLISP,快板CL,CL Clozure和LispWorks真。)