19 lines
313 B
Plaintext
19 lines
313 B
Plaintext
(define (make-counter) ((lambda (var) (lambda () (mutate var (+ 1 var)) var)) 0))
|
|
|
|
(define counter1 (make-counter))
|
|
|
|
(assert (= (counter1) 1))
|
|
|
|
(define counter2 (make-counter))
|
|
|
|
(assert (= (counter2) 1))
|
|
|
|
(assert (= (counter2) 2))
|
|
|
|
(assert (= (counter1) 2))
|
|
|
|
(assert (= (counter1) 3))
|
|
|
|
(assert (= (counter2) 3))
|
|
|