1
- let f = g => (. x ) => g (x )
1
+ let f = g => x => g (x )
2
2
3
3
let map = (f , a ) => {
4
4
let l = Array .length (a )
5
5
if l == 0 {
6
6
[]
7
7
} else {
8
- let r = Array .make (l , f (. Array .unsafe_get (a , 0 )))
8
+ let r = Array .make (l , f (Array .unsafe_get (a , 0 )))
9
9
for i in 1 to l - 1 {
10
- Array .unsafe_set (r , i , f (. Array .unsafe_get (a , i )))
10
+ Array .unsafe_set (r , i , f (Array .unsafe_get (a , i )))
11
11
}
12
12
r
13
13
}
14
14
}
15
15
16
- let map = (type u v , f : u => v , a : array <u >): array <v > => map ((. x ) => f (x ), a )
16
+ let map = (type u v , f : u => v , a : array <u >): array <v > => map (x => f (x ), a )
17
17
18
18
let init = (l , f ) =>
19
19
if l == 0 {
@@ -24,24 +24,24 @@ let init = (l, f) =>
24
24
/* See #6575. We could also check for maximum array size, but this depends
25
25
on whether we create a float array or a regular one... */
26
26
27
- let res = Array .make (l , f (. 0 ))
27
+ let res = Array .make (l , f (0 ))
28
28
for i in 1 to pred (l ) {
29
- Array .unsafe_set (res , i , f (. i ))
29
+ Array .unsafe_set (res , i , f (i ))
30
30
}
31
31
res
32
32
}
33
33
34
- let init = (l , f ) => init (l , (. x ) => f (x ))
34
+ let init = (l , f ) => init (l , x => f (x ))
35
35
36
36
let fold_left = (f , x , a ) => {
37
37
let r = ref (x )
38
38
for i in 0 to Array .length (a ) - 1 {
39
- r := f (. r .contents , Array .unsafe_get (a , i ))
39
+ r := f (r .contents , Array .unsafe_get (a , i ))
40
40
}
41
41
r .contents
42
42
}
43
43
44
- let fold_left = (f , x , a ) => fold_left ((. x , y ) => f (x , y ), x , a )
44
+ let fold_left = (f , x , a ) => fold_left ((x , y ) => f (x , y ), x , a )
45
45
46
46
@val external timeStart : string => unit = "console.time"
47
47
@@ -97,8 +97,8 @@ let add5 = (a0, a1, a2, a3, a4) => {
97
97
a0 + a1 + a2 + a3 + a4
98
98
}
99
99
100
- let f = x =>
101
- /* let u = */ add5 (
100
+ let f = x => /* let u = */ ( a , b ) =>
101
+ add5 (
102
102
x ,
103
103
{
104
104
incr (v )
@@ -108,26 +108,31 @@ let f = x =>
108
108
incr (v )
109
109
2
110
110
},
111
+ a ,
112
+ b ,
111
113
) /* in */
112
114
/* all_v := !v :: !all_v ;
113
115
u */
114
116
115
117
let g = x => {
116
- let u = add5 (
117
- x ,
118
- {
119
- incr (v )
120
- 1
121
- },
122
- {
123
- incr (v )
124
- 2
125
- },
126
- )
118
+ let u = (a , b ) =>
119
+ add5 (
120
+ x ,
121
+ {
122
+ incr (v )
123
+ 1
124
+ },
125
+ {
126
+ incr (v )
127
+ 2
128
+ },
129
+ a ,
130
+ b ,
131
+ )
127
132
all_v := list {v .contents , ... all_v .contents }
128
133
u
129
134
}
130
- let a = f (0 , 3 , 4 )
135
+ let a = f (0 )( 3 , 4 )
131
136
132
137
let b = f (0 , 3 , 5 )
133
138
0 commit comments