Если я правильно понимаю Раздел 15.1.2.1 стандарта Common Lisp, совершенно законно, чтобы (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.)