【SICP练习】45 练习2.4

来源:互联网 发布:能记录游泳数据的手环 编辑:程序博客网 时间:2024/05/22 07:50


练习2.4

直接运用对比的技巧就可以猜测出相应的cdr表示如下:

(define (cdr z)

   (z (lambda (p q) q)))

但我们还是要按照题中要求用代换模型来检验。先来检验car的。

(car (cons 0 1))

(car (lambda (m) (0 1)))

((lambda (z) (z (lambda (p q) p)))

  (lambda (m) (0 1)))

((lambda (m) (0 1)) (lambda (p q) p))

((lambda (p q) p) 0 1)

0

接下来是cdr的。

(cdr (cons 0 1))

(cdr (lambda (m) (0 1)))

((lambda (z) (z (lambda (p q) q)))

   (lambda (m) (0 1)))

((lambda (m) (0 1)) (lambda (p q) q))

((lambda (p q) q) 0 1)

1

大家可以在Edwin中测试一下。

5 0
原创粉丝点击