Comment 2 for bug 1332059

Revision history for this message
Faré (fahree) wrote :

ASDF is working as designed. If you want CamelCase, you need to use a string, not a symbol, as in (asdf:load-system "RE-tools"). Note that the defsystem needs to also use a string, as well as all references to the system.

The reasons why this is are many: many "modern" common lisp implementations have a case-preserving reader, but most "traditional" (and standard-compliant) implementations are case-converting. It is therefore not portable to rely on the case of a symbol (unless you |escape it|), and ASDF needs to case-convert itself; it chooses to downcase, which makes for much nicer file names.

CamelCase is not portably compatible with logical-pathnames, for similar reasons. Not that anyone sane should use logical-pathnames.

While CamelCase names are supported in the above way (using "Strings"), they are not idiomatic and are somehow frowned upon for public libraries.