Re: Macros and symbols across packages
- From: Pascal Bourguignon <pjb@xxxxxxxxxxxxxxxxx>
- Date: Mon, 30 May 2005 15:01:53 +0200
Kent M Pitman <pitman@xxxxxxxxxxx> writes:
> "Jeff M." <massung@xxxxxxxxx> writes:
>
>> Interesting. I didn't realize that symbol-name didn't also return the
>> package with the name when outside of the package (like print). I'll
>> give that a shot. Thanks.
>
> Return is the wrong verb here. Show is the correct verb.
>
> A symbol is, at least conceptually, a structure that always contains a
> name and a backpointer to the symbol's home package. Whether the
> printer decides to show the package depends on whether the symbol is
> accessible in the current package or only reachable by reference
> through a package. The package is always there, though, whether shown
> or not.
>
> The home package, incidentally, is only one of many packages the symbol
> might be accessible through. It's used when the symbol is not accessible
> locally if it is accessible through that home package. You can create
> pathological cases where you unintern it from its home package and it
> can't find a name to use for itself.
Let it be clear: SYMBOL-NAME _returns_ only the name of the symbol.
PRINT may or may not _print_ (show) the name of the package,
according to the value of various special variables.
--
__Pascal Bourguignon__ http://www.informatimago.com/
The rule for today:
Touch my tail, I shred your hand.
New rule tomorrow.
.
- References:
- Macros and symbols across packages
- From: Jeff M.
- Re: Macros and symbols across packages
- From: Edi Weitz
- Re: Macros and symbols across packages
- From: Jeff M.
- Re: Macros and symbols across packages
- From: Kent M Pitman
- Macros and symbols across packages
- Prev by Date: Re: package frenzy
- Next by Date: Re: package frenzy
- Previous by thread: Re: Macros and symbols across packages
- Next by thread: Re: Macros and symbols across packages
- Index(es):
Relevant Pages
|