[armedbear-devel] Read tables

Blake McBride blake at arahant.com
Mon Aug 22 03:03:02 UTC 2011

Dear Erik,

Based on your input, I have been thinking more about making my
interface case sensitive.  It would be better.  After doing a little
research I tried:

        (setf (readtable-case *readtable*) :invert)

This seems to have made all the standard stuff ("car, cons, etc.")
lowercase as I'd prefer.  After that I tried creating lists:

         (setq x '(HELLO There how))

and the case seems to be preserved - not inverted.

I also tried things like:

(defun fun (x) (+ 1 x))
(defun Fun (x) (+ 2 x))
(defun FUN (x) (+ 3 x))

And it worked as expected.  I'm a bit confused.  Why aren't symbols
(as in '(HELLO There how)) inverted?  (I understand that :invert
doesn't change case on mixed case symbols but then all upper or all
lower should be inverted.)  Is *print-case* being affected?

At first test, it seems like :invert does exactly what most people
want - case sensitive lisp that has system symbols all lower case.
Are there instances in which this doesn't work?  Will this affect
lisp-java usage when it comes to case?

Any pointers would be appreciated.


Blake McBride

More information about the armedbear-devel mailing list