<br><br><div class="gmail_quote">On Sun, Jun 7, 2009 at 11:46 PM, Vladimir Sedach <span dir="ltr"><<a href="mailto:vsedach@gmail.com">vsedach@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So basically any form that introduces a lexical binding inside a<br>
defun/lambda should correspond exactly to CL semantics (if not, it's a<br>
bug!). Anything that's in the toplevel will either introduce a new<br>
top-level lexical variable, or change the value of an existing one.<br>
</blockquote><div><br>I have not tried out the lexical scoping yet, so I cannot be sure how this works. Is there a means of declaring variables special? So if you have<br><br>(defvar *g* 1)<br><br>(defun foo ()<br> (let ((*g* 5))<br>
(declare (special *g*))<br> (print-g)))<br> (print-g))<br><br>(defun print-g () (print *g*))<br><br>It will 51 and not 11 or 55? I am unsure of the current semantics of let--whether anything is treated as dynamic and rebound, etc. Is the manual up to date?<br>
<br>Best,<br>Red<br><br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
I guess one thing that can be done is to wrap any let forms in the<br>
toplevel into a lambda that's called right then and there. I<br>
personally don't like the toplevel/non-toplevel dimorphism in the<br>
generated code so I'm not going to do it unless a compelling reason is<br>
found.<br>
<br>
Vladimir<br>
<br>
> Daniel<br>
><br>
> _______________________________________________<br>
> parenscript-devel mailing list<br>
> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
<br>
_______________________________________________<br>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
</blockquote></div><br>