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 の試験を書いておく。ってか、テキストの流れと若干違う。別途見直し実施します。