about summary refs log tree commit diff stats
path: root/main.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@wmii.de>2006-07-17 10:09:57 +0200
committerAnselm R. Garbe <garbeam@wmii.de>2006-07-17 10:09:57 +0200
commited41473634058b3ffdee7c8eef39785defe9da65 (patch)
tree1d8b3dbe84be5f21084ae00496e89bce269c7f3c /main.c
parentee5ba1443142e8e8e69933874eaa5415dbb8d80d (diff)
downloaddwm-ed41473634058b3ffdee7c8eef39785defe9da65.tar.gz
updated README
Diffstat (limited to 'main.c')
0 files changed, 0 insertions, 0 deletions
<vc@akkartik.com> 2015-01-17 17:00:44 -0800 578 - switch to non-polymorphic 'print' functions' href='/akkartik/mu/commit/counters.mu?h=hlt&id=4b62edd8a63cfdde37b0537c9be1e91062bb2892'>4b62edd8 ^
7d2c2d55 ^
d1c12218 ^


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33







                                                               
                                                                                                             















                                                               
                                                 
                                                   
                             
                                                   
                           


                                               
(function init-counter [
  (default-space:space-address <- new space:literal 30:literal)
  (n:integer <- next-input)
  (reply default-space:space-address)
 ])

(function increment-counter [
  (default-space:space-address <- new space:literal 30:literal)
  (0:space-address/names:init-counter <- next-input)  ; setup outer space; it *must* come from 'init-counter'
  (x:integer <- next-input)
  (n:integer/space:1 <- add n:integer/space:1 x:integer)
  (reply n:integer/space:1)
 ])

(function main [
  (default-space:space-address <- new space:literal 30:literal)
  ; counter A
  (a:space-address <- init-counter 34:literal)
  ; counter B
  (b:space-address <- init-counter 23:literal)
  ; increment both by 2 but in different ways
  (increment-counter a:space-address 1:literal)
  (bres:integer <- increment-counter b:space-address 2:literal)
  (ares:integer <- increment-counter a:space-address 1:literal)
  ; check results
  ($print (("Contents of counters a: " literal)))
  (print-integer nil:literal/terminal ares:integer)
  ($print ((" b: " literal)))
  (print-integer nil:literal/terminal bres:integer)
  ($print (("\n" literal)))
 ])

; compare http://www.paulgraham.com/accgen.html