うぅん。SICPの説明がなんか納得いかない。 問題 3.10 make-withdrawのletをlambdaに書き直して、環境モデルを書き直す問題。 (define (make-withdraw internal-amount) ((lambda (balance) (lambda (amount) (if (>= balance amount) (begin (set! balance amount) amount) (error "Insufficient funds.")))) internal-amount)) lambdaの引数が環境を生み出すんだから、make-withdrawを呼び出した時の環境はこうなってて、 (define W1 (make-withdraw 100)) (define W1 (lambda (internal-amount) .. (define W1