Case-sensitivity goals, policy and implementation



Is there some problem in using Maxima's existing Alias mechanism for
defining the mapping between Maxima and Lisp identifiers?  As far as I
can tell, it works just fine for exchanging two identifiers (though I
haven't done extensive testing or code-reading) -- though the
Maxima-level interface doesn't support that.

For each system identifier:

  (put '|$bar| '|$BAR| 'ALIAS)
  (put '|$BAR| '|$bar|  'ALIAS)
  (put '|$BAR| '|bar|  'REVERSEALIAS)
  (put '|$bar| '|BAR|  'REVERSEALIAS)

Maxima share/load files act just like any other Maxima code
(preserving case).  Lisp share/load files need to either use |$xxx| or
the above mechanism.  In fact, the only complication I see in this
scheme is that Lisp programmers need to be reminded to use DEFMFUN or
some such to define their $-functions.

              -s

PS Normalizing to uppercase in CL is pretty damn archaic....