You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

17 lines
322 B

  1. (define (make-counter)
  2. (let ((var 0))
  3. (lambda ()
  4. (mutate var (+ 1 var))
  5. var)))
  6. (define counter1 (make-counter))
  7. (assert (= (counter1) 1))
  8. (define counter2 (make-counter))
  9. (assert (= (counter2) 1))
  10. (assert (= (counter2) 2))
  11. (assert (= (counter1) 2))
  12. (assert (= (counter1) 3))
  13. (assert (= (counter2) 3))