[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: '#:foobar versus (make-symbol "FOOBAR")



Reply To: Gallagher@cs.umass.edu

	The uninterned symbols are only used to name local variables, which the
	compiler will turn into references to stack locations.  The actual names
	of the locals don't need to be saved, and most compilers are smart
	enough not to save the names if they are uninterned symbols.  (Most
	compilers do save the names of other locals which makes debugging much
	easier.)

Btw, you're assumptions about what compilers do may or may not be wrong
depending on a number of things such as OPTIMIZE declarations and
implementation specific features.  MACL, for example, can optionally save
local maps.  

1) Obviously, run time code won't be using the local maps.

2) Why do you think the compiler considers uninterned symbols 
   to be different than any other symbol with respect to local bindings.

3) Sometimes, it's critical to be able to see the local names in 
   disassembled code rather than just in macroexpansions.

-david