simple.adl
1 program test.alpha { 2 mapping foo: u32 => u32; 3 async transition main_inner(public a: u32, b: u32) -> (u32, Future) { 4 let c: u32 = a + b; 5 let f: Future = finalize(); 6 return (c, f); 7 } 8 9 async function finalize() { 10 Mapping::set(foo, 1u32, 1u32); 11 } 12 } 13 14 // --- Next Program --- // 15 16 import test.alpha; 17 program basic.alpha { 18 async transition main(public a: u32, b: u32) -> (u32, Future) { 19 let c: u32 = a + b; 20 let (d, f1): (u32, Future) = test.alpha/main_inner(1u32, 1u32); 21 let f:Future = finalize(c, f1); 22 return (c,f); 23 } 24 25 async function finalize(input: u32, f: Future) { 26 f.await(); 27 assert_eq(input, 1u32); 28 } 29 }