generic_array.adl
1 program test.alpha { 2 const Five: u32 = 5; 3 transition main() -> u32 { 4 let total = 0u32; 5 total += sum_array::[1]([1]); 6 total += sum_array::[2]([1, 2u32]); 7 total += sum_array::[3u32]([1, 2, 3]); 8 total += sum_array::[4]([1u32, 2u32, 3u32, 4u32]); 9 let arr: [u32; Five] = [1, 2, 3, 4, 5]; 10 total += sum_array::[Five](arr); 11 12 return total; 13 } 14 15 inline sum_array::[N: u32](arr: [u32; N]) -> u32 { 16 let sum = 0u32; 17 for i in 0u32..N { 18 sum += arr[i]; 19 } 20 return sum; 21 } 22 }