SICP Practice

Practice 4.27

(define count 0)

(define (id x)
  (set! count (+ count 1)))

(define w (id (id 10)))

;;; L-Eval input:
count

由于是用惰性求值器求值的,所以(id (id 10))暂不求值

;;; L-Eval value:
0
;;; L-Eval input:
w

此时需要求值(id (id 10))的值

;;; L-Eval value:
2
;;; L-Eval input:

前面已经对count做了改变

count
;;; L-Eval value:
2