Is this expected?
CL-USER> (ql:quickload "parenscript")
...
CL-USER> (defpackage :ps-user (:use :cl :ps))
#<The PS-USER package, 0/16 internal, 0/16 external>
CL-USER> (in-package "PS-USER")
#<The PS-USER package, 0/16 internal, 0/16 external>
PS-USER> (ps (let ((s-a))))
"(function () {
var sA = null;
return null;
})();"
Also,
$ cat foo.lisp
(let ((s-a))
(+ s-a 42)
(chain s-a (append-child foo)))
PS-USER> (ps-compile-file "foo.lisp")
"(function () {
var sA = null;
sA + 42;
return sA.appendChild(foo);
})();
"
PS-USER>
Which is against documentation "Top-level LET
and LET*
forms will create new global variables, or overwrite the values of already existing global variables with the same name."
Please comment