UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture22/ counter.rkt
#lang plai/gc2/mutator
(allocator-setup "generational.rkt" 240)

(define (mk-counter)
  (let ([lst (cons 0 empty)])
    (lambda ()
      (begin
        (set-first! lst (add1 (first lst)))
        (first lst)))))

(define counter (mk-counter))

(define (loop k acc)
  (if (> k 200)
      acc
      (loop (add1 k) (counter))))

(loop 0 0)