< so far I haven't been able to think
of any cases where it would cause a conflict. ><br><br>Interestingly, I just ran across such a conflict. I applied the fix in 68d111 (thanks), and discovered one thing that broke in our JS as a result. It turns out that, in this one place, we do use a symbol macro as a property name in a CREATE form. Something like this:<br>


<br>(ps (define-symbol-macro sym what-we-really-want))<br><br>(ps (create sym 123))<br>as of 68d111 => "{ sym : 123 };"<br>but should be => "{ whatWeReallyWant : 123 };"<br><br>I can change the code to not use a symbol macro that way. But at a deeper level, it seems like if one is going to have symbol macros, they should work here. <br>

<br>I'm not arguing for or against any particular implementation of lexical scoping, but rather that such implementation details shouldn't percolate up to the language level.<br><br><br><div class="gmail_quote">On Tue, Oct 13, 2009 at 10:14 AM, Vladimir Sedach <span dir="ltr"><<a href="mailto:vsedach@gmail.com" target="_blank">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;">
<div>> Lexical renaming is implementing in a very wrong way in the main<br>
> parenscript branch (by abusing symbol macros). I have introduced a<br>
> js:let syntax form and perform renaming at print time instead. The<br>
> implementation is significantly shorter and works for all cases.<br>
<br>
</div>Have you run the PS unit tests on your branch? I just cloned your<br>
repository (up to patch faa26a99e6712), and it doesn't compile, but<br>
from looking at the code it would seem your changes wouldn't handle<br>
special variables, and maybe a few other things.<br>
<br>
I don't think there's anything wrong with using symbol-macrolet as the<br>
mechanism to implement renaming - so far I haven't been able to think<br>
of any cases where it would cause a conflict.<br>
<br>
Another thing I want to do is to make the PS printer take as input an<br>
s-expression representation of JavaScript - I'm working on a JS parser<br>
that will produce that representation as output, and a translator from<br>
the representation to CL. Eventually I want to take the printer out of<br>
Parenscript and move it into a separate project. So I'm a little<br>
against putting in non-JS constructs into the language that the<br>
printer understands.<br>
<font color="#888888"><br>
Vladimir<br>
</font><div><div></div><div><br>
> <a href="http://git.hcoop.net/?p=clinton/parenscript.git;a=summary" target="_blank">http://git.hcoop.net/?p=clinton/parenscript.git;a=summary</a><br>
><br>
> --<br>
> Lindsay (Carlton): nighttime baker! sounds a little iffy<br>
><br>
> _______________________________________________<br>
> parenscript-devel mailing list<br>
> <a href="mailto:parenscript-devel@common-lisp.net" target="_blank">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>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net" target="_blank">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>
</div></div></blockquote></div><br>