lambdaは手習いのvalueにもありましたが、set!が出てきた関係で 複数の式を書けるようにする必要があります (define *lambda (lambda (e table) (lambda (args) (beglis (body-of e) (multi-extend (formals-of e) (box-all args) table))))) クロージャの作られ方が手習いの時とすこし違うかな? 手習いの時はこうでした (define *lambda (lambda (e table) (build (quote non-primitive) (cons table (cdr e))))) こちらは単純にテーブル・仮引数・関数本体をリストにして記憶してますね 今回は関数(クロージャ)を作って返し、あとでその関数を評価するようにしています テーブル・仮引数・関数本体はクロー