3.2.3 局所状態の保管場所としてのフレーム
Exercise 3.10
(let ((⟨var⟩ ⟨exp⟩)) ⟨body⟩)
は ((lambda (⟨var⟩) ⟨body⟩) ⟨exp⟩)
と解釈される。
その場合を環境モデルを使って説明せよ。
(define W1 (make-withdraw 100)) (W1 50) (define W2 (make-withdraw 100))
書き換えた場合の処理は
(define (make-withdraw initial-amount) ((lambda (balance) (lambda (amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "Insufficient funds"))) initial-amount))
自分で考えた答え
なんか色々違うっぽい。。 色々人の解答をみてみたりした。。
Envの考え方がそもそも違ったっぽい
解答verFix