-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathsample1.nev
More file actions
45 lines (38 loc) · 800 Bytes
/
Copy pathsample1.nev
File metadata and controls
45 lines (38 loc) · 800 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* functional programming language
* syntactically scoped
* first class functions
* call by value
*/
func min(a : float, b : float, c : float) -> float
{
a < b ? a * c : b * c
}
func minCoeff(p1 : float, p2 : float, coeff : float) -> float
{
func min(n_a : float, n_b : float) -> float
{
coeff * (n_a < n_b ? n_a : n_b)
};
min(p2, p1)
}
func crazy(a : float, float, () -> float, funcZ(float, float) -> (float) -> () -> float) -> float
{
0.0
}
func prfloat(void_func(float, float, float) -> float) -> float
{
printf(void_func(10.0, 20.0, 30.0))
}
func my_func(a : float, b : float, c : float) -> float
{
2.0 * minCoeff(a, b, c)
}
func void_func() -> float
{
0 < 0 ? 0.0 : 10.0
}
func main() -> bool
{
assert(prfloat(my_func) == 600.0)
}