about summary refs log blame commit diff stats
path: root/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm
blob: 16f4a41375df488c5ae12a35dd8de777ab8c5444 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                          
(define make-count
  (let ((glob 0))
    (lambda ()
      (let ((loc 0))
        (lambda (msg)
          (cond ((eq? msg 'local)
                 (lambda ()
		   (set! loc (+ loc 1))
		   loc))
                ((eq? msg 'global)
                 (lambda ()
		   (set! glob (+ glob 1))
		   glob))
                (else (error "No such method" msg)) ))))))