Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!udel!gatech!howland.reston.ans.net!pipex!uknet!festival!edcogsci!jeff
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Subject: Re: Common Lisp' dual name space
Message-ID: <CyrvCG.8wH@cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: bute-alter.aiai.ed.ac.uk
Organization: AIAI, University of Edinburgh, Scotland
References: <a6Byuc1w165w@sytex.com> <CynJ44.1A0@cogsci.ed.ac.uk> <39927h$e3q@tools.near.net>
Date: Sat, 5 Nov 1994 02:09:51 GMT
Lines: 27

In article <39927h$e3q@tools.near.net> barmar@nic.near.net (Barry Margolin) writes:
>In article <CynJ44.1A0@cogsci.ed.ac.uk> jeff@aiai.ed.ac.uk (Jeff Dalton) writes:
>>Just because we have a name doesn't mean we have a namespace.
>
>Sure it does.  A namespace is any mapping from names to bindings.

Did you really think I hadn't taken that into account?

You have given *a* sense of "namespace".  But is it *the* relevant
sense?  I don't think so, but perhaps it's not really important to
work this out.

>Not all of Common Lisp's namespaces permit there to be lexical nesting of
>namespaces, but that doesn't mean they aren't namespaces.  For instances,
>there are package and type namespaces, but just a single, global instance
>of each.

I will, however, note that types are not 1st-class objects in CL.

If you write a CL interpreter (say), the "environment" has to deal
with only 4 namespaces (unless X3J13's added another one while I
wasn't looking).  There are, of course, some kinds of objects that
have names (e.g. packages).  There's typically a mapping from the
names to the objects.  But I regard that as essentially a separate
issue.

-- jeff
