about summary refs log tree commit diff stats
path: root/archive/2.vm/counters.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-01-01 17:04:37 -0800
committerKartik Agaram <vc@akkartik.com>2020-01-01 17:04:37 -0800
commit2a4088119cf41175457414dfa59bd4064b8f0562 (patch)
tree64fe184e399f9870ebd481a90eec34d51e5dff68 /archive/2.vm/counters.mu
parent23fd294d85959c6b476bcdc35ed6ad508cc99b8f (diff)
downloadmu-2a4088119cf41175457414dfa59bd4064b8f0562.tar.gz
5852
Diffstat (limited to 'archive/2.vm/counters.mu')
-rw-r--r--archive/2.vm/counters.mu29
1 files changed, 0 insertions, 29 deletions
diff --git a/archive/2.vm/counters.mu b/archive/2.vm/counters.mu
deleted file mode 100644
index ea2fa77d..00000000
--- a/archive/2.vm/counters.mu
+++ /dev/null
@@ -1,29 +0,0 @@
-# example program: maintain multiple counters with isolated lexical scopes
-# (spaces)
-
-def new-counter n:num -> default-space:space [
-  default-space <- new location:type, 30
-  load-inputs  # initialize n
-]
-
-def increment-counter outer:space/names:new-counter, x:num -> n:num/space:1 [
-  local-scope
-  load-inputs
-  0:space/names:new-counter <- copy outer  # setup outer space; it *must* come from 'new-counter'
-  n/space:1 <- add n/space:1, x
-]
-
-def main [
-  local-scope
-  # counter A
-  a:space/names:new-counter <- new-counter 34
-  # counter B
-  b:space/names:new-counter <- new-counter 23
-  # increment both by 2 but in different ways
-  increment-counter a, 1
-  b-value:num <- increment-counter b, 2
-  a-value:num <- increment-counter a, 1
-  # check results
-  $print [Contents of counters], 10/newline
-  $print [a: ], a-value, [ b: ], b-value, 10/newline
-]