Subject: Re: Sharp with exports in defpackage??
From: (Rob Warnock)
Date: Tue, 28 Feb 2006 05:16:00 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Christophe Rhodes  <> wrote:
| (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 Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607