Vebjorn Ljosa
Vebjorn Ljosa

Reputation: 18008

Array upgrading

If I understand Section 15.1.2.1 of the Common Lisp standard correctly, it is perfectly legal for (upgraded-array-element-type '(unsigned-byte 8)) to be '(unsigned-byte 16), or even t. My question is therefore about the actual behavior of implementations.

Are there any implementations in use today where '(unsigned-byte 8) or '(unsigned-byte 16) are upgraded? In other words, where the following is false:

(and (subtypep (upgraded-array-element-type '(unsigned-byte 8)) '(unsigned-byte 8))
     (subtypep (upgraded-array-element-type '(unsigned-byte 16)) '(unsigned-byte 16))

(The expression is true for SBCL, CLISP, Allegro CL, Clozure CL, and LispWorks.)

Upvotes: 2

Views: 207

Answers (1)

Doug Currie
Doug Currie

Reputation: 41220

ECL may not support '(unsigned-byte 16)

Upvotes: 1

Related Questions