Bugs are a major theme on this list. As far as I know, Parenscript lacks unit tests that run the compiled Javascript code. Is that still correct? Perhaps it is time to introduce this feature? There are a few options here:
It appears as though there might be a gap in the lexical scoping
implementation in the compiler:
(ps (lambda (x)
(let ((x 1))
(foo x))
(incf x)))
=>
"function (x) {
var x = 1;
foo(x);
return ++x;
};"
vs.
(ps (let ((x 10))
(let ((x 1))
(foo x))
(incf x)))
"var x = 10;
var x33 = 1;
foo(x33);
++x;"
Although function parameters have their own lexical bindings,
the environment still needs to be informed of those bindings
so that LET forms in the function body can rename any conflicts.
Scott
_______________________________________________
parenscript-devel mailing list
parenscript-devel@common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel