diff options
Diffstat (limited to 'tests/programs/actor.zc')
| -rw-r--r-- | tests/programs/actor.zc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/programs/actor.zc b/tests/programs/actor.zc new file mode 100644 index 0000000..5256aca --- /dev/null +++ b/tests/programs/actor.zc @@ -0,0 +1,12 @@ +namespace; +include rt, actor; +typecheck on; +int add_two(int n) { return n + 2; } +fn main() { + actor.Actor<int,int>* a = rt.new(actor.Actor<int,int>); + let total = 0; + a.spawn(add_two); a.recv(fn(int value) { total += value; return 0; }); + a.send(2); a.send(3); a.await(); rt.put_n(total); rt.put_c(' '); + a.send(1); a.await(); rt.put_n(total); rt.put_c(' '); + a.close(); rt.put_n(a.send(4)); rt.put_c(10); return 0; +} |
