tichy <ssbm2@...> writes:
> I noticed that SBCL 0.9.7 gives me (IMO) wrong result:
>
> (typep (make-array 0 :fill-pointer t) '(and array (satisfies
> array-has-fill-pointer-p) (satisfies adjustable-array-p)))
>
> ===> T
>
> CLISP returns NIL.
Both of these answers can be correct, and probably are. Certainly
SBCL's answer is correct. I'll quote from the HyperSpec page for
MAKE-ARRAY:
If adjustable is non-nil, the array is expressly adjustable (and so
actually adjustable); otherwise, the array is not expressly
adjustable (and it is implementation-dependent whether the array is
actually adjustable).
Your call to make-array matches the "otherwise" clause here; it is
implementation-dependent whether the array it produces is actually
adjustable, and in sbcl's case it is actually adjustable.
What was your TYPEP call meant to achieve?
Cheers,
Christophe
|