From: Chris S. <cs...@dt...> - 2016-05-26 21:26:50
|
> On May 26, 2016, at 1:48 PM, Pascal J. Bourguignon <pj...@in...> wrote: > > Raymond Toy <toy...@gm...> writes: > >>>>>>> "Sam" == Sam Steingold <sd...@gn...> writes: >> >>>> * Daniel Jour <qnavry.bregjvt@tznvy.pbz> [2016-05-15 21:40:41 +0200]: >>>> >>>> Given the ignorance of case prevalent in Common Lisp, >> >> Sam> the only places where this happens are: >> Sam> 1. reader is case-converting by default >> >> I think you meant upcasing. 'ABC and 'abc are both the same symbol >> whose name is "ABC". > > Wrong: > > cl-user> (EQ 'ABC 'abc) > NIL > cl-user> (MAPCAR 'SYMBOL-NAME '(ABC Abc abc)) > ("ABC" "Abc" "abc”) I think someone reading this might get confused about case in Common Lisp. Normally, (eq ‘abc ‘ABC) => T of course, since READ upcases symbols. Also (eq #’eq #’EQ) => T for example. But symbol names are case-sensitive, and Pascal’s confounding example above left out the part where he trickily altered the “readtable case” of the current reader, causing it ti preserve case. Notice that he typed uppercase EQ, because the symbol-name of EQ is (like all Common Lisp built-ins) actually uppercase. See: http://www.lispworks.com/documentation/lw51/CLHS/Body/23_aba.htm Don’t want to confuse any readers about the readers… |