From ... From: Erik Naggum Subject: Re: `fast' global variables (Ex: Re: ??: using * for variable ?) Date: 1999/03/24 Message-ID: <3131270602413412@naggum.no>#1/1 X-Deja-AN: 458368309 References: <7csm6k$31f$1@nnrp1.dejanews.com> <36F31455.35F0CCB4@IntelliMarket.Com> <7d4165$acl$1@nnrp1.dejanews.com> <36F66BFC.A7EA65D7@elwood.com> <7d6dtj$bp0$1@nnrp1.dejanews.com> <7d6fdb$egv$1@spitting-spider.aracnet.com> <3131135071149992@naggum.no> <7d6pos$h6f$1@spitting-spider.aracnet.com> <3131171314435096@naggum.no> <7d8h8q$f53$1@spitting-spider.aracnet.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * Mike McDonald | A literal object is that one, unique object. It says nothing about | the status of its contents. In their example of '("two"), it's the | cons cell that is the literal object being refered to, not the | string "two" or the NIL on the end. Granted, in this example, you'd | confuse most people by replaca-ing the list, but I don't see | anything in this definition that it says you can't. * Kent M Pitman | Yes, I agree with this analysis philosophically, though the record is | a bit muddled and both you and Erik are probably slightly confused because | the language itself is slightly confused on this point. | "Sorry about that." I'm not quite certain that I see where the supposed confusion lies. if a compiler is allowed to store literals in pure space in the first place, why does the string that is the supposed "contents" of a list not granted the same option? you (or Mike) seem to be saying that given a literal ("foo" "bar") in some variable X, I cannot say (setf (cdr x) '("zot")), but I _can_ say (setf (char (car x) 0) #\g). this seems too specious to me to ever want to become an argument I want resolved. that is, I want it to be resolved at a much higher level: "literals are literals all the way down". #:Erik