[parenscript-devel] Lexical scoping bug

Daniel Gackle danielgackle at gmail.com
Mon Apr 19 17:45:36 UTC 2010


Ok, I'm getting crashes trying to generate JS, but the problem seems like it
should be easy to fix:

This form generates an error:

   (ps (setf x (* x 1000)))

while this works fine:

   (ps (setf x (* 1000 x)))



On Sun, Apr 18, 2010 at 6:42 PM, Daniel Gackle <danielgackle at gmail.com>wrote:

> I'll run a diff on our generated JS tonight and report back.
>
> For those of us who are curious, could you talk a bit about the work you
> did on the compiler?
>
> Thanks Vladimir,
> Daniel
>
> On Sun, Apr 18, 2010 at 5:34 PM, Vladimir Sedach <vsedach at gmail.com>wrote:
>
>> Just pushed a fixed. I also did a bunch of work on the compiler; let
>> me know if anything else breaks.
>>
>> Vladimir
>>
>> 2010/4/16 Daniel Gackle <danielgackle at gmail.com>:
>> > Good catch! I should have written:
>> > (ps (let ((abc (@ x abc)))
>> >               (funcall abc)))
>> > =>
>> > "var abc901 = x.abc;
>> > abc();"
>> > I gave the wrong version because we have a customized @ that plays games
>> > with symbols and keywords. But the above runs in pure PS and is still a
>> bug,
>> > I would think.
>> > Daniel
>> >
>> > On Thu, Apr 15, 2010 at 9:48 PM, Michael Compton
>> > <michael.compton at littleedge.co.uk> wrote:
>> >>
>> >> When I run that through I get:
>> >>
>> >> (ps (let ((abc (@ x :abc)))
>> >>                      (funcall abc)))
>> >>
>> >> =>
>> >>
>> >> "var abc = x['abc'];
>> >> abc();"
>> >>
>> >> Are you maybe using an earlier version of PS?
>> >>
>> >> Michael
>> >>
>> >> On Wed, 2010-04-14 at 22:04 -0600, Daniel Gackle wrote:
>> >> > Vladimir,
>> >> >
>> >> >
>> >> > I don't think we heard back about this bug. I've got an ugly
>> >> > workaround for it in my code, which it would be nice to get out of
>> >> > there. Do you think it will be hard to fix?
>> >> >
>> >> >
>> >> > Daniel
>> >> >
>> >> > On Mon, Mar 29, 2010 at 1:47 PM, Daniel Gackle
>> >> > <danielgackle at gmail.com> wrote:
>> >> >         Just ran across this one:
>> >> >
>> >> >
>> >> >         (ps (let ((abc (@ x :abc)))
>> >> >                       (funcall abc)))
>> >> >
>> >> >
>> >> >         =>
>> >> >
>> >> >
>> >> >         "var abc901 = x.abc;
>> >> >         abc();"
>> >> >
>> >> >
>> >> >         Daniel
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > parenscript-devel mailing list
>> >> > parenscript-devel at common-lisp.net
>> >> > http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> parenscript-devel mailing list
>> >> parenscript-devel at common-lisp.net
>> >> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>> >
>> >
>> > _______________________________________________
>> > parenscript-devel mailing list
>> > parenscript-devel at common-lisp.net
>> > http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>> >
>> >
>>
>> _______________________________________________
>> parenscript-devel mailing list
>> parenscript-devel at common-lisp.net
>> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/parenscript-devel/attachments/20100419/e11b332f/attachment.html>


More information about the parenscript-devel mailing list