blob: 167a0cb37cb5d3f3407405ee48bbb00cb396b0f9 (
plain) (
blame)
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
34
35
36
37
38
|
== Taking mu for a spin
Prerequisites: Racket from http://racket-lang.org
$ cd mu
$ git clone http://github.com/arclanguage/anarki
Now try a test program.
$ cat x.mu # simple example to add two numbers
(main
((x integer) <- copy (1 literal))
((y integer) <- copy (3 literal))
((z integer) <- add (x integer) (y integer))
)
$ ./anarki/arc mu.arc x.mu
#hash((1 . 1) (2 . 3) (3 . 4)) # state of simulated memory after executing x.mu
Location z contains the sum of locations x and y.
(You have to imagine that location 3 maps to 'z' for now, sorry..)
Another example, this time with concurrency.
$ ./anarki/arc mu.arc fork.mu
Notice that it repeatedly prints either '34' or '35' at random. Hit ctrl-c to
stop.
== Now dive in
Try running the tests:
$ ./anark/arc mu.arc.t
#t # all tests passed!
Now start reading mu.arc.t. The html rendering mu.arc.t.html might be easier
to read in your browser.
|