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@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@common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel