EoPL reading (70) 2.2 An Abstraction for Inductive Data Type

モチ切れ、と言いつつもう少し。

((lambda (x y) (+ x y)) a b)

なナニを追加。

(test* "(app-exp (lambda-exp (x y) (app-exp ((val-exp +) (val-exp x) (val-exp y)))) (val-exp a) (val-exp b)) -> ((lambda (x y) ((free-info +) (lex-info x 0 0) (lex-info y 0 1))) (free-info a) (free-info b))"
       '((lambda (x y) ((free-info +) (lex-info x 0 0) (lex-info y 0 1))) (free-info a) (free-info b))
       (lexical-address '(app-exp (lambda-exp (x y) (app-exp (var-exp +) (var-exp x) (var-exp y))) (var-exp a) (var-exp b))))

横に長い。試験はパス。そういえば問題文をよく読んでみよ。

とりあえず

上記のソレを unparse に吸わせたら元に戻らないと駄目らしい。その前に if の試験を書いておく。ってか、テキストの流れと若干違う。別途見直し実施します。