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真。)