Christophe Rhodes <csr21@cam.ac.uk> wrote:
+---------------
| rpw3@rpw3.org (Rob Warnock) writes:
| > Another reason to use symbols [whether uninterned or keyword]
| > instead of "NAME" strings is to avoid problems when the user
| > is running with a non-standard READTABLE-CASE mode. When symbols
| > such as #:name are typed in in lowercase, they'll "do the right
| > thing" regardless of whether (READTABLE-CASE *READTABLE) is the
| > CLHS default :UPCASE or the increasingly-popular-when-doing-FFI
| > :INVERT mode. Whereas "NAME" breaks in the latter case...
|
| No it doesn't.
+---------------
Ouch! You're right. I didn't look carefully enough at *when* casing
got done in this example [in the reader, of course]. And DEFPACKAGE
takes string-designators for all its input symbol arguments anyway,
so they're already in "the right case".
Hmmm... I recall very vaguely from some of the discussions around
here in the past about case-sensitivity that there was a reason for
preferring to use uninterned or keyword symbols over strings, so as
to be more-or-less immune to the READTABLE-CASE, but at the moment
I can't seem to recall the specific situation where this arose.
Mea culpa. "Never mind..."
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607