メモ
非効率ではあるものの、こんなのが普通に動くようになった。
(run-program '(let ((make-bank-account (lambda (amount) (lambda (n) (set! amount (+ amount n)) amount)))) (let ((foo (make-bank-account 0))) (foo 1000) (foo 500) (foo -100)))) => "1400\n"
しかし今は動くプログラムを考えるのがとても難しい。
非効率ではあるものの、こんなのが普通に動くようになった。
(run-program '(let ((make-bank-account (lambda (amount) (lambda (n) (set! amount (+ amount n)) amount)))) (let ((foo (make-bank-account 0))) (foo 1000) (foo 500) (foo -100)))) => "1400\n"
しかし今は動くプログラムを考えるのがとても難しい。