[parenscript-devel] "let over lambda" seems buggy

Vsevolod Dyomkin vseloved at gmail.com
Thu Oct 13 06:51:45 UTC 2011


Hi

Actually the above code is correct.

You can also use:
- either
(let (x)
    (create "fn" (lambda () x)))
- or
(create "x" nil
           "fn" (lambda () x)))
depending on the JS semantics you want to get.

vsevolod


On Thu, Oct 13, 2011 at 8:40 AM, Canhua <dreameration at gmail.com> wrote:

> hi, all, I found that
>     (create "fn" (let ((x))
>                        (lambda () x)))
>
> compiles to
>     { 'fn' : (x = null, function () {
>      return x;
>     }) }
>
> wherein the variable x may conflict with a variable with the same name
> outside this code.
> How may avoid this? How may I achieve "let over lambda" closure effect
> as in common lisp?
>
> Thanks.
>
> _______________________________________________
> parenscript-devel mailing list
> parenscript-devel at common-lisp.net
> http://lists.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/20111013/cbcc4570/attachment.html>


More information about the parenscript-devel mailing list