sicp 2.4

验证一对元素的非传统表示
本文探讨了一种非传统的一对元素表示方法,并通过实例验证了其正确性。包括定义了`car`和`cdr`函数来获取对元素的访问,通过具体操作展示了其应用。

Exercise 2.4.  Here is an alternative procedural representation of pairs. For this representation, verify that (car (cons x y))yields x for any objects x and y.

 

 

(define (cons x y)
  (lambda (m) (m x y)))

(define (car z)
  (z (lambda (p q) p)))

 

What is the corresponding definition of cdr? (Hint: To verify that this works, make use of the substitution model of section 1.1.5.)

 

(define (cons x y)
  (lambda (m) (m x y)))

(define (car z)
  (z (lambda (p q) p)))

(define (cdr z)
  (z (lambda (p q) q)))

 

(cdr (cons 1 2))

->((cons 1 2) (lambda (p q) q))

->((lambda (m) (m 1 2)) (lambda (p q) q))

->((lambda (p q) q) 1 2)

->2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值