[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: '#:foobar versus (make-symbol "FOOBAR")
- To: info-macl@cambridge.apple.com
- Subject: Re: '#:foobar versus (make-symbol "FOOBAR")
- From: dmg@goldilocks.LCS.MIT.EDU
- Date: Fri, 08 Mar 91 11:47:48 EST
- In-reply-to: Your message of Fri, 08 Mar 91 11:20:40 -0500. <2877438040-12287945@Gilgamesh>
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