Common Lisp標準のセクション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、Allegro CL、Clozure CL、およびLispWorksに当てはまります。)