ASDF Best Practices

Sam Steingold sds at
Mon Apr 3 13:19:33 UTC 2017

> * Faré <snuerr at 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.


Sam Steingold ( on darwin Ns 10.3.1504
Legends are time-tested rumors.

More information about the asdf-devel mailing list