Path: utzoo!attcan!uunet!cs.utexas.edu!hellgate.utah.edu!cdr.utah.edu!moore From: moore%cdr.utah.edu@cs.utah.edu (Tim Moore) Newsgroups: comp.lang.lisp Subject: Re: Case sensitivity (Ugh, Again!) Message-ID: <1991Jan9.095506.29341@hellgate.utah.edu> Date: 9 Jan 91 16:55:06 GMT References: <2872363025@ARTEMIS.cam.nist.gov> Organization: University of Utah CS Dept Lines: 37 In article <2872363025@ARTEMIS.cam.nist.gov> miller@GEMcam.nist.gov (Bruce R. Miller) writes: > >I'm given to understand that Allegro common lisp has a form > > (set-case-mode :case-sensitive-lower) > >such that, afterwards, Lisp code is case sensitive and to access the >`standard' lisp, one must type in lowercase. >Presumably there are :case-sensitive-upper, etc. variants. >Note, I'm not just talking about a case-sensitive readtable. > >This has me wondering... > 2) Is there anything like this slated to be part of CL? Do other >implementations provide a similar hack? In the proposed ANSI standard (and CLtL2) readtables have a READTABLE-CASE slot that can be one of :UPCASE, :DOWNCASE, :PRESERVE, or :INVERT. To quote CLtL2, "For :upcase, replaceable characters are converted to uppercase. (This was the behavior specified by the first edition.) For :downcase, replaceable characters are converted to lowercase. For :preserve, the cases of all characters remain unchanged. For :invert, if all of the replaceable letters in the extended token are of the same case, they are all converted to the opposite case; otherwise the cases of all characters in that token remain unchanged." Utah Common Lisp implements this; presumably others do or are about to. Tim Moore moore@cs.utah.edu {bellcore,hplabs}!utah-cs!moore "Ah, youth. Ah, statute of limitations." -John Waters