In the following, (FOO) should evaluate to 50, but actually evaluates to 90 because BAR's A binding has overwritten FOO's. Should they not have separate bindings?
(progn (let ((a 5)) (defun foo () (* 10 a))) (let ((a 9)) (defun bar () (* 100 a))))
var a = 5; function foo() { return 10 * a; }; var a = 9; function bar() { return 100 * a; };
Daniel