EoPL reading (93) 2.2 An Abstraction for Inductive Data Type
よく見たらバグってない?
test subst y (lambda (x) (lambda (x) y)), expects (lambda-exp x (lambda-exp x (var-exp y))) ==> ok test subst y (lambda (x) (lambda (y) y)), expects (lambda-exp y (lambda-exp y (var-exp y))) ==> ok test subst y (lambda (x) (lambda (x) x)), expects (lambda-exp y (lambda-exp x (var-exp x))) ==> ok test subst y (lambda (x) (lambda (y) x)), expects (lambda-exp y (lambda-exp y (var-exp x))) ==> ok
最後のソレはどうなのか、と思ったんですが定義を見たらセイフ。でも
gosh> (define f (lambda (x) (lambda (y) x))) f gosh> (define ff (f 3)) ff gosh> (ff 2) 3 gosh>
なので、やっぱダウトなんだけどなぁ。あ、戻す手続きの引数が y なのか。でもそうだとすると外の引数を y にするのはダウトじゃん。
うーん
クロスコンパイルでテンパッてるので思考力ゼロ。とりあえず投入。