Subject: Case sensitivity (was Conjugate is weird)
From: Raymond Toy
Date: 14 Apr 2003 16:24:17 -0400
>>>>> "CY" == C Y <smustudent1@yahoo.com> writes:
CY> Um. I guess I didn't express myself very well - anything written for
CY> inclusion in Maxima would need to be written in such a way as to not
CY> depend on case.
If you have user-selectable case sensitivity, I don't see how you can
write code that doesn't depend on case. My case-insensitive foo is
going to collide with your case-sensitive foo. (Or is that FOO?)
CY> We can also be smart about loading and saving: if someone wants to
CY> save a document, the document can automatically record whether it was
CY> written in case sensitive or case non sensitive mode. Then Maxima,
CY> when loading that file, can compare what the file says about case to
CY> what the user environment says about case, and autoconvert to lower
CY> case if the file was written in case sensitive mode but the user is
CY> running in case insensitive mode. If someone has an older file that is
CY> case sensitive, just add a toggle to the load command, i.e.:
CY> load("filename", cs);
I'd rather not have to think about this at all.
CY> if the command is given just as load("filename") without the toggle,
CY> Maxima will check the file to see if the information is recorded there,
CY> and if not assume the file matches the user's environment. Perhaps it
CY> could even scan for upper case letters in the case of running in case
CY> insensitive mode.
I suppose that's possible to do, but the information MUST be in the
file. It would be bad if maxima has to make assumptions. I can see
it now---your carefully computed foo variable of 100 pages has just
been zapped because you loaded my virus package that sets foo to
%pi. :-)
Personally, I think most people would be happy if maxima printed out
everything in lower case and wasn't case-sensitive. But I'm
biased. :-)
Ray