SICP演習問題5.40
コード生成関数のすべてに翻訳時環境を追加。(コードは略)
(define (compile-lambda-body exp proc-entry compile-time-env) (let ((formals (lambda-parameters exp))) (print "compile-time-environment: "compile-time-env) (append-instruction-sequences (make-instruction-sequence '(env proc argl) '(env) `(,proc-entry (assign env (op compiled-procedure-env) (reg proc)) (assign env (op extend-environment) (const ,formals) (reg argl) (reg env)))) (compile-sequence (lambda-body exp) 'val 'return (cons formals compile-time-env)))))