-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathsample106.nev
More file actions
31 lines (26 loc) · 759 Bytes
/
Copy pathsample106.nev
File metadata and controls
31 lines (26 loc) · 759 Bytes
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
func twice(e : int) -> int
{
print(2 * e)
}
func foreachTab( tab[dim] : int, each(e : int) -> int ) -> int
{
func __foreachTab( val : int, i : int, tab[dim] : int ) -> int
{
i < dim ? __foreachTab( each(tab[i]), i + 1, tab) : i
};
__foreachTab(0, 0, tab)
}
func foreach2Tab( tab[dim] : [D] : int, eachTab(t[D] : int, (int) -> int) -> int, each(e : int) -> int ) -> int
{
func __foreach2Tab( val : int, i : int, tab[dim] : [D] : int ) -> int
{
i < dim ? __foreach2Tab( eachTab(tab[i], each), i + 1, tab ) : i
};
__foreach2Tab(0, 0, tab)
}
func main() -> int
{
foreach2Tab( [ [ 1, 2, 3, 4, 5, 6 ] : int,
[ 16, 17, 18 ] : int ] : [D] : int,
foreachTab, twice )
}