pass2/$local-assign をデバッグ中
やり残した最適化の1つを ON にしたらおかしくなった。
(display "GO\n") (define path 3) (let ((add (lambda (s) (set! path s)))) (add #f) (add #f))
s が free variables として認識されないようなバグがある。どうも pass2 で lambda を inline 展開するときにおかしくなる模様。
明日 vm.scm を使って調べる。