- Faré snuerr@tznvy.pbz [2017-04-01 02:33:38 -0400]:
Symbols work fine. It's just that they are not *canonical*; so it's not obviously clear that underneath, ASDF them will reduce them to a lower-case string; or that :SRc srC and "src" are the same thing. The consing and interning saved by using strings is probably minor in comparison.
My intuition is exactly the opposite. Since the standard Common Lisp reader is case-converting, when I see symbols, I assume that FOO, Foo and foo are the same. With strings I assume the opposite - "FOO", "Foo" and "foo" are different. I don't like name space pollution though, so, when I want case-insensitive strings, I use uninterned symbols. #:FOO, #:Foo, and :foo designate the same strings and they have sufficiently distinct syntax to be properly highlighted by Emacs and to convey the intent quite clearly.
Thanks.