[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: COPY-SYMBOL-PRINT-NAME
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: Issue: COPY-SYMBOL-PRINT-NAME
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Wed, 8 Mar 89 12:50 EST
- Cc: CL-Cleanup@SAIL.Stanford.EDU
- In-reply-to: <19890308174529.2.MOON@EUPHRATES.SCRC.Symbolics.COM>
Date: Wed, 8 Mar 89 12:45 EST
From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
Date: Wed, 8 Mar 89 12:36 EST
From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
I see no reason not to just say it returns a symbol whose name is EQ.
There might be implementations that, like Multics Maclisp, have a special
representation for symbol names rather than using an actual string.
could make it impossible for
(eq (symbol-name (copy-symbol x)) (symbol-name x))
to be true. I think string= is the correct predicate.
Ok, given this explanation, STRING= is fine by me.
No one is supposed to ever side-effect such strings, so that's not
an issue.
Not saying the result is EQ just encourages paranoid implementors to
copy the string unnecesarily, leading to a loss of space for no good
reason.
While I agree that the string should not be copied unnecessarily, I think
there are legitimate implementation techniques that would copy the string
necessarily.
Maybe this can be factored in as an implementation note.