diff options
author | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
---|---|---|
committer | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
commit | 562a9a52d599d9a05f871404050968a5fd282640 (patch) | |
tree | 7d3305c1252c043bfe246ccc7deff0056aa6b5ab /js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm | |
parent | 5d012c6c011a9dedf7d0a098e456206244eb5a0f (diff) | |
download | tour-562a9a52d599d9a05f871404050968a5fd282640.tar.gz |
*
Diffstat (limited to 'js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm')
-rw-r--r-- | js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm b/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm new file mode 100644 index 0000000..16f4a41 --- /dev/null +++ b/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.2/count5.scm @@ -0,0 +1,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)) )))))) |