[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Date: Mon, 1 Jun 87 22:12 EDT
From: Robert W. Kerns <RWK@YUKON.SCRC.Symbolics.COM>
Date: 1 June 1987, 11:24:47 EDT
From: Timothy Daly <DALY@ibm.com>
. . .
Is (SIMPLE-VECTOR T) valid? (semantics: (SIMPLE-VECTOR T *))
No. I don't know why you thought it might, so I'm not sure this is
the most helpful answer, but I think p47 is pretty clear that SIMPLE-VECTOR
takes only a single argument, a size. I.e. (SIMPLE-VECTOR 47) =
(SIMPLE-ARRAY T 47).
However, I think this is really also a bug in the manual, and that it is
SUPPOSED to take two arguments, like you apparently thought, and it was
accidentally edited to take arguments like SIMPLE-STRING instead of
SIMPLE-ARRAY. Unfortunately, we've been using the manual to specify the
language, and at this point I think this would have to be regarded as
an incompatible change. (I still think we should fix it; SIMPLE-VECTOR
is of much less use as currently defined, and quite confusing).
If we fix it as described, then the answer to your question is YES.
Historically, SIMPLE-VECTOR is a contraction of SIMPLE-GENERAL-VECTOR, i.e.
(SIMPLE-ARRAY T (*)) -- it IS intentionally like SIMPLE-STRING. The name got
contracted because many got bent out of shape by the length of SIMPLE-GENERAL-VECTOR,
and I guess no one argued (strongly enough?) against the inconsistent nomenclature.
I think this has caused enough confusion to require attention and an eventual change,
but I am against any reinterpretation of the meaning in the current CL incarnation.
Without looking, i would bet that the only inconsistency is in the name itself, and
the manual is fairly clear on what it means.
- From: Robert W. Kerns <RWK@YUKON.SCRC.Symbolics.COM>