From ... From: Erik Naggum Subject: Re: Newbie asking for help Date: 2000/06/27 Message-ID: <3171101213338118@naggum.no>#1/1 X-Deja-AN: 639554055 References: <8iti9v$d19$1@nnrp1.deja.com> <39527922.5BBF41CB@gmx.de> <3953971B.81E3A336@pacbell.net> <3170780959479982@naggum.no> <3953CD19.B8520C8@ISOMEDIA.COM> <3958397F.E7A5B9E3@pacbell.net> mail-copies-to: never Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@eunet.no X-Trace: oslo-nntp.eunet.no 962113481 17305 195.0.192.66 (27 Jun 2000 13:44:41 GMT) Organization: Naggum Software; vox: +47 8800 8879; fax: +47 8800 8601; http://www.naggum.no User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7 Mime-Version: 1.0 NNTP-Posting-Date: 27 Jun 2000 13:44:41 GMT Newsgroups: comp.lang.lisp * Simon Brooke | SETQ is defined to bind variables to forms. Wrong. | A variable is just any name in the 'variable' namespace Wrong. | (Yeuch! LISP2! **Nasty**). Idiot. | So, in your example, setq binds the name 'pie' in the current dynamic | environment, by assigning a value to that name in the namespace (all | possible names exist (in a platonic sense) in the namespace, it's just | that the overwhelming majority of them are never instantiated by being | bound). The environment happens to be top-level. The following | evaluation of the name pie retrieves the value from the namespace. Bogus from A to Z. | Therefore the behaviour you describe is mandated by the hyperspec. Wrong. (If it is, it isn't because of your reasoning.) A more interesting question than Steven M Haflich's stupid quibbling is whether (setq foo 1) is identical to (setf (symbol-value 'foo) 1) if foo is not lexically bound. If it is, then it is completely beside the point whether foo is "declared" or not. #:Erik -- If this is not what you expected, please alter your expectations.