Subject: Case-sensitivity goals, policy and implementation
From: James Amundson
Date: Tue, 12 Oct 2004 21:26:13 -0500
On Tue, 2004-10-12 at 09:25, Raymond Toy wrote:
> I think *print-case* should be left as :upcase
> (the default), but the reader (for maxima code) should have a
> readtable-case of :invert. Section 22.1.3.3.2.1 of the CLHS has a
> table showing the effect:
>
> READTABLE-CASE *PRINT-CASE* Symbol-name Output
> --------------------------------------------------
> :INVERT :UPCASE ZEBRA zebra
> :INVERT :UPCASE Zebra Zebra
> :INVERT :UPCASE zebra ZEBRA
>
> Is this not what we want? We read "zebra" to become the lisp symbol
> 'ZEBRA, which, when printed out is "zebra".
>
> Wouldn't this make "m" and "M" distinct?
Hey! I think you have the right answer. I am glad you are thinking about
this more clearly than I was. The point I missed is that we want maxima
functions to *print* in lowercase, but we really don't care if the
corresponding lisp symbol is uppercase.
> Also, I think it would be a mistake to add any sort of complicated
> rule on uppercase/lowercase.
Yes, yes, yes. I believe your observation about setting the readtable
case to :invert renders my previous proposal obsolete.
Many thanks,
Jim