<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>Am 18.10.2009 um 19:45 schrieb Tim Bradshaw:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 18 Oct 2009, at 18:07, Taoufik Dachraoui wrote:<br><br><blockquote type="cite">n the specs it is said that there is three kinds of variables: <br></blockquote><blockquote type="cite">lexical, dynamic and constant,<br></blockquote><blockquote type="cite">and this is the problem, it seems that the hash on SETF creates a <br></blockquote><blockquote type="cite">variable that is neither<br></blockquote><blockquote type="cite">lexical, nor dynamic nor constant (as show in previous submissions); <br></blockquote><blockquote type="cite">So the question<br></blockquote><blockquote type="cite">is what is the rational behind this hack? why the hack did not <br></blockquote><blockquote type="cite">create a dynamic variable as in CMUCL?<br></blockquote><br>One of the most annoying things about SETF at the top-level in CMUCL <br>is that it does (or did) effectively declare the name as special. <br>That can have fairly pervasive and unfortunate side-effects.<br></div></blockquote><div><br></div><div>I always found that highly annoying.</div><div><br></div><div>The CMUCL FAQ has already been mentioned. Just to make it clear, fortunately there is a switch for CMUCL to get rid of this:</div><div><br></div><div><div>* (describe 'ext:*top-level-auto-declare*)</div><div><br></div><div><b>*TOP-LEVEL-AUTO-DECLARE*</b> is an external symbol in the EXTENSIONS package.</div><div>It is a special variable; its value is :WARN.</div><div> WARN is an external symbol in the KEYWORD package.</div><div> It is a constant; its value is :WARN.</div><div>Special documentation:</div><div> This variable controls whether assignments to unknown variables at top-level</div><div> (or in any other call to EVAL of SETQ) will implicitly declare the variable</div><div> SPECIAL. These values are meaningful:</div><div> :WARN -- Print a warning, but declare the variable special (the default.)</div><div> T -- Quietly declare the variable special.</div><div> NIL -- Never declare the variable, giving warnings on each use.</div><div><br></div><div>Whenever I use CMUCL and get annoyed with this, I'll set this variable in the CMUCL init file.</div><div><br></div><div><br></div><div>back to CCL...</div><div><br></div><div><br></div></div><br><blockquote type="cite"><div><br>So it's a good thing it does not do this in CCL.<br>_______________________________________________<br>Openmcl-devel mailing list<br><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>http://clozure.com/mailman/listinfo/openmcl-devel<br></div></blockquote></div><br><div>
<span class="Apple-style-span" style="font-size: 14px; "><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Rainer Joswig, Hamburg, Germany</div><div><a href="http://lispm.dyndns.org/">http://lispm.dyndns.org/</a></div><div><a href="mailto:joswig@lisp.de">mailto:joswig@lisp.de</a></div><div><br></div></div></div></div></div></div></div></div></div></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>