CONS形式化 (相对完美版)

(defun  mycons (x y)

(lambda ( s z)

(funcall (funcall s  x  y )  z)

)

)

 

(defun wrapcar (s)

(lambda  (a b)

(lambda (z)

(funcall a s  z)

)

)

)

 

(defun  mycar (n)

(lambda (s z)

(funcall  n (wrapcar s)  z) 

)

)

 

(defun wrapcdr ( s)

(lambda  (a b)

(lambda (z)

(funcall b  s  z)

)

)

)

 

 

(defun  mycdr (n)

(lambda ( s z)

(funcall  n (wrapcdr  s )  z) 

)

)

 

 

(setq  one  (lambda (s z) (funcall  s z) ))

(setq  two  (lambda (s z) (funcall s (funcall  s z) )))

(setq  three  (lambda (s z) (funcall s (funcall s (funcall  s z) ))))

 

(defun chenbing (value)

(list  'chenbing value)

)

 

(funcall one 'chenbing nil)

(funcall two 'chenbing nil)

(funcall three 'chenbing nil)

 

(setq  a  (mycons    two one) )

(setq  b  (mycons  three (mycons two one ) ) )

 

 

(funcall (mycar  a) 'chenbing nil)

(funcall (mycar  b) 'chenbing nil)

(funcall (mycar (mycdr b) ) 'chenbing nil)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值