Control Flow
Conditionals
In this example, A sends the input
to B
, now both roles know x
so they both calculate locally whether x > 5
.
Tempo
func@(A,B) run(input: Int@A) {
let x: Int@[A,B] = await A->B input;
if x > 5 {
await B->A "x is larger than 5";
}
}
Loops
In the example below, A
will locally count down from 10 (notice that i
has type Int@A
).
In each iteration of the loop, A
will send a boolean to B
to tell whether they should loop again.
After 10 iterations, A
will send the value false
to B
, and they will both exit the loop.
Tempo
let i: Int@A = 10;
while await A->B (i > 0) {
await B->A "ping";
i = i - 1;
}
Last updated on