练习5.1

将下列表达式翻译成没有使用let与let*,并使用同样的表达式不被求值2次。

(a).

(let ((x (car y)))
       (cons x x))

(b).

(let* ((w (car x))
        (y (+ w z)))
       (cons w y))

 

 

答案:

(a).

((lambda (x) (cons x x)) (car y))

(b).

((lambda (w) ((lambda (y) (cons w y)) (+ w z))) (car x))

posted @ 2012-12-19 14:31  flowjacky  阅读(106)  评论(0编辑  收藏  举报