|
From: Pascal B. <pj...@in...> - 2003-05-07 14:28:16
|
Christophe Rhodes writes:
> Pascal Bourguignon <pj...@in...> writes:
>=20
> > The point is that while a (ARRAY (ARRAY BASE-CHAR *) *) has to b=
e
> > implemented as an (ARRAY T *), it must not forget that it contain=
s
> > actually (ARRAY BASE-CHAR *).
>=20
> Yes it must. It is required to by the ANSI standard for the
> language. See the CLHS page for System Class ARRAY:
>=20
> If element-type is the symbol *, arrays are not excluded on the
> basis of their element type. Otherwise, only those arrays are
> included whose actual array element type is the result of upgrading
> element-type; see Section 15.1.2.1 (Array Upgrading).
Beware, I've always specified the type of the elements. I've only used
the * wildcard for the dimension.
(ARRAY BASE-CHAR *)
^ ^
| |
| +---- dimension =3D whatever between 0 and=20
| (1- array-dimension-limit)
+---- :element-type =3D BASE-CHAR
--=20
__Pascal_Bourguignon__ http://www.informatimago.com/
----------------------------------------------------------------------
Do not adjust your mind, there is a fault in reality.
|