js@codeartist.org <js@codeartist.org> wrote:
+---------------
| Thats not quite true. ANSI Common Lisp was never case insensitive,
| but as others noted it was (by default) case translating (READTABLE-
| CASE :UPCASE). Case sensitive ANSI Common Lisp Code was always
| possible by setting READTABLE-CASE of a readtable to :PRESERVE.
+---------------
But awkward, since you then hae to SHOUT all the symbols in the
COMMON-LISP package. Many people find that readtable-case :INVERT
is much nicer [especially given the default interaction with the
printer]:
> :hello
:HELLO
> (setf (readtable-case *readtable*) :invert)
:invert
> :hello
:hello
> (eq 'cl:car 'car)
t
> '(hello Hello HELLO)
(hello Hello HELLO)
> (cadr *)
Hello
> (mapcar 'symbol-name **)
("HELLO" "Hello" "hello")
>
Pretty much everything still "just works", especially if
you're careful to use keywords or uninterned symbols as
string or package designators instead of all-caps strings.
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607