From: D. Erway
Subject: Where Doc for CL Name Binding Spaces?
Date: 
Message-ID: <DERWAY.95Dec15104538@alumni.ndc.com>
Consider the following bits from ACL toploop:

======================================================================
> (setf d 17)
 17
> (defun d (x) (* x 2))
 D
> (d d)
 34
> (setf d #'(lambda (x) ( * x 3)))
 #<function 1 #xA6A640>
> (d 1)
 2
> (funcall d 1)
 3
======================================================================

These clearly demonstrate that a symbol may have separate simultaneous
bindings for value and for function, which do not shadow each other.

What other name binding spaces are there?

Where is this defined?  I can't find much, if anything in CLtL2 on it.

Thanks,
Don

	Don Erway III (The Wrong Ayatollah :)		······@ndc.com
	NDC Systems					818-358-1871
	730 E. Cypress Ave				Fax:303-5770
	Monrovia, CA, 91016

Disclaimer: These are my own personal opinions, and not those of my company,
or anyone else.
From: Barry Margolin
Subject: Re: Where Doc for CL Name Binding Spaces?
Date: 
Message-ID: <4at85j$fnj@tools.bbnplanet.com>
In article <····················@alumni.ndc.com>,
D. Erway <······@ndc.com> wrote:
>These clearly demonstrate that a symbol may have separate simultaneous
>bindings for value and for function, which do not shadow each other.
>
>What other name binding spaces are there?

Other namespaces I can think of:

classes
types
structures
deftypes
tagbody tags
blocks
setf expanders
packages
method combinations
restarts

The first three are related, since structure types and many built-in types
have corresponding classes with the same names.

>Where is this defined?  I can't find much, if anything in CLtL2 on it.

No single place lists them all.  Just about any facility that uses names
defines its own namespace for them.  If you write a new DEF<something>
macro, you'll probably be creating another namespace (unless it's just a
wrapper for defining something in an existing namespace).
-- 
Barry Margolin
BBN PlaNET Corporation, Cambridge, MA
······@bbnplanet.com
Phone (617) 873-3126 - Fax (617) 873-6351