Jeff Dalton <jeff@todday.inf.ed.ac.uk> wrote:
+---------------
| The lexical X shadows the special one, so they're not in
| separate namespaces.
+---------------
And vice-versa, which led me to concede that particular point in
my parallel reply to Brian Mastenbrook.
+---------------
| I won't go through the rest. We obviously disagree on what
| counts as a namespace.
+---------------
Possibly, though perhaps not as much as it seems. I was quoting a bunch
of people from previous similar threads, and not arguing that hard myself
for all of their viewpoints.
My own view is more that something is a separate namespace if within
the same lexical scope -- and *especially* within the same expression --
you can use the same symbol to mean different things. As I replied to
Brian, that cuts the number of namespaces to (I think) about 6, and
even that only if you consider the uses of a symbol for it's symbol-name
rather for some binding. [Which I feel one should, since LOOP keywords,
normal keywords in function calls and macros, method combinatation names,
CATCH tags -- all of these can be lumped into one "marker" namespace,
which *is* disjoint from function, variable, block tag, & GO tag bindings,
as well as declaration identifiers (which you omitted).]
+---------------
| Historically, the aim of saying Common Lisp has lots of namespaces
| has been to say Common Lisp is a mess.
+---------------
That is/was certainly not my intent. It was only to show that it is a
"Lisp-N" for some (small) N > 2, just as C has more than two namespaces.
I happen to think the number is at least 5, probably 6 [rational: CL
really *does* have programmer-visible symbols, *not* just variable
bindings], and *maybe* one or two more, but I'm not going to argue
strongly for more than 6.
+---------------
| So everything that's anything like a namespace is thrown in,
| because the aim is to spin to make CL sound as bad as possible...
+---------------
Again, not my intention at all. Rather, I simply think that it's good
from time to time to clarify just what CL's rules are, so that we all
can use it reliably & safely & without undue surprises.
+---------------
| Presumably that's not *your* aim; but the effect can be the same.
+---------------
(See above.)
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607