"Vadim V. Zhytnikov" <vvzhy@mail.ru> writes:
> But isn't
>
> (typep "12" '(simple-base-string 2)) -> NIL
>
> wrong?
I think this is quite conforming to the CLHS.
* (array-element-type "a")
CHARACTER
which in SBCL is a strict super-type of BASE-CHAR:
* (subtypep 'character 'base-char)
NIL
T
Since the CLHS implies
* (upgraded-array-element-type 'base-char)
BASE-CHAR
the corresponding array types must be disjoint in SBCL:
* (subtypep '(and (array base-char) (array character)) nil)
T
T
Of course, that is not a consistency proof for SBCL's type system (on
the other hand, perhaps a working SBCL can be regarded as a model of
its own type system ;-)
Wolfgang