Skip to content
This repository was archived by the owner on Oct 23, 2024. It is now read-only.

Commit 6504710

Browse files
committed
Belt: clean up uncurried handling; deprecate xxxU functions
1 parent 8db6b81 commit 6504710

File tree

82 files changed

+1341
-2362
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1341
-2362
lines changed

belt-cppo/belt_Set.cppo.res

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,11 @@ let maximum = N.maximum
2020
let maxUndefined = N.maxUndefined
2121

2222
let forEach = N.forEach
23-
let forEachU = N.forEachU
2423
let reduce = N.reduce
25-
let reduceU = N.reduceU
2624
let every = N.every
27-
let everyU = N.everyU
2825
let some = N.some
29-
let someU = N.someU
3026
let keep = N.keepShared
31-
let keepU = N.keepSharedU
3227
let partition = N.partitionShared
33-
let partitionU = N.partitionSharedU
3428

3529
let size = N.size
3630
let toList = N.toList
@@ -231,3 +225,10 @@ let rec diff = (s1: t, s2: t) =>
231225
N.joinShared(ll, v1, rr)
232226
}
233227
}
228+
229+
let forEachU = forEach
230+
let reduceU = reduce
231+
let everyU = every
232+
let someU = some
233+
let keepU = keep
234+
let partitionU = partition

belt-cppo/hashmap.cppo.res

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,9 @@ let has = (h, key) => {
191191
let make = (~hintSize) => C.make(~hintSize, ~hash=(), ~eq=())
192192
let clear = C.clear
193193
let size = h => h.C.size
194-
let forEachU = N.forEachU
195194
let forEach = N.forEach
196-
let reduceU = N.reduceU
197195
let reduce = N.reduce
198196
let logStats = N.logStats
199-
let keepMapInPlaceU = N.keepMapInPlaceU
200197
let keepMapInPlace = N.keepMapInPlace
201198
let toArray = N.toArray
202199
let copy = N.copy
@@ -223,3 +220,7 @@ let mergeMany = (h, arr) => {
223220
set(h, k, v)
224221
}
225222
}
223+
224+
let forEachU = forEach
225+
let reduceU = reduce
226+
let keepMapInPlaceU = keepMapInPlace

belt-cppo/hashset.cppo.res

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,7 @@ let make = (~hintSize) => C.make(~hintSize, ~hash=(), ~eq=())
136136

137137
let clear = C.clear
138138
let size = h => h.C.size
139-
let forEachU = N.forEachU
140139
let forEach = N.forEach
141-
let reduceU = N.reduceU
142140
let reduce = N.reduce
143141
let logStats = N.logStats
144142
let toArray = N.toArray
@@ -162,3 +160,6 @@ let mergeMany = (h, arr) => {
162160
add(h, A.getUnsafe(arr, i))
163161
}
164162
}
163+
164+
let forEachU = forEach
165+
let reduceU = reduce

belt-cppo/internal_map.cppo.res

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ let split = (x: key, n) =>
174174
| Some(n) => splitAux(x, n)
175175
}
176176

177-
let rec mergeU = (s1, s2, f) =>
177+
let rec merge = (s1, s2, f) =>
178178
switch (s1, s2) {
179179
| (None, None) => None
180180
| (Some(n) /* (Node (l1, v1, d1, r1, h1), _) */, _)
@@ -185,15 +185,14 @@ let rec mergeU = (s1, s2, f) =>
185185
} =>
186186
let {N.left: l1, key: v1, value: d1, right: r1} = n
187187
let (l2, d2, r2) = split(v1, s2)
188-
N.concatOrJoin(mergeU(l1, l2, f), v1, f(v1, Some(d1), d2), mergeU(r1, r2, f))
188+
N.concatOrJoin(merge(l1, l2, f), v1, f(v1, Some(d1), d2), merge(r1, r2, f))
189189
| (_, Some(n)) /* Node (l2, v2, d2, r2, h2) */ =>
190190
let {N.left: l2, key: v2, value: d2, right: r2} = n
191191
let (l1, d1, r1) = split(v2, s1)
192-
N.concatOrJoin(mergeU(l1, l2, f), v2, f(v2, d1, Some(d2)), mergeU(r1, r2, f))
192+
N.concatOrJoin(merge(l1, l2, f), v2, f(v2, d1, Some(d2)), merge(r1, r2, f))
193193
| _ => assert(false)
194194
}
195195

196-
let merge = (s1, s2, f) => mergeU(s1, s2, (a, b, c) => f(a, b, c))
197196

198197
let rec compareAux = (e1, e2, vcmp) =>
199198
switch (e1, e2) {
@@ -212,7 +211,7 @@ let rec compareAux = (e1, e2, vcmp) =>
212211
| (_, _) => 0
213212
}
214213

215-
let cmpU = (s1, s2, cmp) => {
214+
let cmp = (s1, s2, cmp) => {
216215
let (len1, len2) = (N.size(s1), N.size(s2))
217216
if len1 == len2 {
218217
compareAux(N.stackAllLeft(s1, list{}), N.stackAllLeft(s2, list{}), cmp)
@@ -223,8 +222,6 @@ let cmpU = (s1, s2, cmp) => {
223222
}
224223
}
225224

226-
let cmp = (s1, s2, f) => cmpU(s1, s2, (a, b) => f(a, b))
227-
228225
let rec eqAux = (e1, e2, eq) =>
229226
switch (e1, e2) {
230227
| (list{h1, ...t1}, list{h2, ...t2}) =>
@@ -236,7 +233,7 @@ let rec eqAux = (e1, e2, eq) =>
236233
| (_, _) => true
237234
} /* end */
238235

239-
let eqU = (s1, s2, eq) => {
236+
let eq = (s1, s2, eq) => {
240237
let (len1, len2) = (N.size(s1), N.size(s2))
241238
if len1 == len2 {
242239
eqAux(N.stackAllLeft(s1, list{}), N.stackAllLeft(s2, list{}), eq)
@@ -245,8 +242,6 @@ let eqU = (s1, s2, eq) => {
245242
}
246243
}
247244

248-
let eq = (s1, s2, f) => eqU(s1, s2, (a, b) => f(a, b))
249-
250245
let rec addMutate = (t: t<_>, x, data): t<_> =>
251246
switch t {
252247
| None => N.singleton(x, data)
@@ -275,7 +270,7 @@ let fromArray = (xs: array<(key, _)>) => {
275270
if len == 0 {
276271
None
277272
} else {
278-
let next = ref(S.strictlySortedLengthU(xs, ((x0, _), (y0, _)) => x0 < y0))
273+
let next = ref(S.strictlySortedLength(xs, ((x0, _), (y0, _)) => x0 < y0))
279274

280275
let result = ref(
281276
if next.contents >= 0 {
@@ -292,3 +287,7 @@ let fromArray = (xs: array<(key, _)>) => {
292287
result.contents
293288
}
294289
}
290+
291+
let cmpU = cmp
292+
let eqU = eq
293+
let mergeU = merge

belt-cppo/map.cppo.res

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,14 @@ let minimum = N.minimum
2525
let minUndefined = N.minUndefined
2626
let maximum = N.maximum
2727
let maxUndefined = N.maxUndefined
28-
let forEachU = N.forEachU
28+
let findFirstBy = N.findFirstBy
2929
let forEach = N.forEach
30-
let mapU = N.mapU
3130
let map = N.map
32-
let mapWithKeyU = N.mapWithKeyU
3331
let mapWithKey = N.mapWithKey
34-
let reduceU = N.reduceU
3532
let reduce = N.reduce
36-
let everyU = N.everyU
3733
let every = N.every
38-
let someU = N.someU
3934
let some = N.some
40-
let keepU = N.keepSharedU
4135
let keep = N.keepShared
42-
let partitionU = N.partitionSharedU
4336
let partition = N.partitionShared
4437
let size = N.size
4538
let toList = N.toList
@@ -65,7 +58,7 @@ let rec set = (t, newK: key, newD: _) =>
6558
}
6659
}
6760

68-
let rec updateU = (t, x: key, f) =>
61+
let rec update = (t, x: key, f) =>
6962
switch t {
7063
| None =>
7164
switch f(None) {
@@ -91,14 +84,14 @@ let rec updateU = (t, x: key, f) =>
9184
} else {
9285
let {N.left: l, right: r, value: v} = n
9386
if x < k {
94-
let ll = updateU(l, x, f)
87+
let ll = update(l, x, f)
9588
if l === ll {
9689
t
9790
} else {
9891
N.bal(ll, k, v, r)
9992
}
10093
} else {
101-
let rr = updateU(r, x, f)
94+
let rr = update(r, x, f)
10295
if r === rr {
10396
t
10497
} else {
@@ -108,8 +101,6 @@ let rec updateU = (t, x: key, f) =>
108101
}
109102
}
110103

111-
let update = (t, x, f) => updateU(t, x, a => f(a))
112-
113104
let rec removeAux = (n, x: key) => {
114105
let {N.left: l, key: v, right: r} = n
115106
if x == v {
@@ -169,9 +160,6 @@ let removeMany = (t, keys) => {
169160
}
170161
}
171162

172-
let findFirstByU = N.findFirstByU
173-
let findFirstBy = N.findFirstBy
174-
175163
let mergeMany = (h, arr) => {
176164
let len = A.length(arr)
177165
let v = ref(h)
@@ -185,15 +173,26 @@ let mergeMany = (h, arr) => {
185173
/* let mergeArray = mergeMany */
186174

187175
let has = I.has
188-
let cmpU = I.cmpU
189176
let cmp = I.cmp
190-
let eqU = I.eqU
191177
let eq = I.eq
192178
let get = I.get
193179
let getUndefined = I.getUndefined
194180
let getWithDefault = I.getWithDefault
195181
let getExn = I.getExn
196182
let split = I.split
197-
let mergeU = I.mergeU
198183
let merge = I.merge
199184
let fromArray = I.fromArray
185+
186+
let cmpU = cmp
187+
let eqU = eq
188+
let everyU = every
189+
let findFirstByU = findFirstBy
190+
let forEachU = forEach
191+
let keepU = keep
192+
let mapU = map
193+
let mapWithKeyU = mapWithKey
194+
let mergeU = merge
195+
let partitionU = partition
196+
let reduceU = reduce
197+
let someU = some
198+
let updateU = update

belt-cppo/mapm.cppo.res

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,12 @@ let set = (m: t<_>, k, v) => {
3535
}
3636
}
3737

38-
let forEachU = (d, f) => N.forEachU(d.data, f)
39-
let forEach = (d, f) => forEachU(d, (a, b) => f(a, b))
40-
let mapU = (d, f) => {data: N.mapU(d.data, f)}
41-
let map = (d, f) => mapU(d, a => f(a))
42-
let mapWithKeyU = (d, f) => {data: N.mapWithKeyU(d.data, f)}
43-
let mapWithKey = (d, f) => mapWithKeyU(d, (a, b) => f(a, b))
44-
let reduceU = (d, acc, f) => N.reduceU(d.data, acc, f)
45-
let reduce = (d, acc, f) => reduceU(d, acc, (a, b, c) => f(a, b, c))
46-
let everyU = (d, f) => N.everyU(d.data, f)
47-
let every = (d, f) => everyU(d, (a, b) => f(a, b))
48-
let someU = (d, f) => N.someU(d.data, f)
49-
let some = (d, f) => someU(d, (a, b) => f(a, b))
38+
let forEach = (d, f) => N.forEach(d.data, f)
39+
let map = (d, f) => {data: N.map(d.data, f)}
40+
let mapWithKey = (d, f) => {data: N.mapWithKey(d.data, f)}
41+
let reduce = (d, acc, f) => N.reduce(d.data, acc, f)
42+
let every= (d, f) => N.every(d.data, f)
43+
let some = (d, f) => N.some(d.data, f)
5044
let size = d => N.size(d.data)
5145
let toList = d => N.toList(d.data)
5246
let toArray = d => N.toArray(d.data)
@@ -133,14 +127,14 @@ let rec updateDone = (t, x: key, f) =>
133127
}
134128
}
135129

136-
let updateU = (t, x, f) => {
130+
let update = (t, x, f) => {
137131
let oldRoot = t.data
138132
let newRoot = updateDone(oldRoot, x, f)
139133
if newRoot !== oldRoot {
140134
t.data = newRoot
141135
}
142136
}
143-
let update = (t, x, f) => updateU(t, x, a => f(a))
137+
144138
let rec removeArrayMutateAux = (t, xs, i, len) =>
145139
if i < len {
146140
let ele = A.getUnsafe(xs, i)
@@ -171,13 +165,21 @@ let removeMany = (d: t<_>, xs) => {
171165

172166
let fromArray = xs => {data: I.fromArray(xs)}
173167

174-
let cmpU = (d0, d1, f) => I.cmpU(d0.data, d1.data, f)
175-
let cmp = (d0, d1, f) => cmpU(d0, d1, (a, b) => f(a, b))
168+
let cmp = (d0, d1, f) => I.cmp(d0.data, d1.data, f)
176169

177-
let eqU = (d0, d1, f) => I.eqU(d0.data, d1.data, f)
178-
let eq = (d0, d1, f) => eqU(d0, d1, (a, b) => f(a, b))
170+
let eq = (d0, d1, f) => I.eq(d0.data, d1.data, f)
179171

180172
let get = (d, x) => I.get(d.data, x)
181173
let getUndefined = (d, x) => I.getUndefined(d.data, x)
182174
let getWithDefault = (d, x, def) => I.getWithDefault(d.data, x, def)
183175
let getExn = (d, x) => I.getExn(d.data, x)
176+
177+
let cmpU = cmp
178+
let eqU = eq
179+
let everyU = every
180+
let forEachU = forEach
181+
let mapU = map
182+
let mapWithKeyU = mapWithKey
183+
let reduceU = reduce
184+
let someU = some
185+
let updateU = update

belt-cppo/setm.cppo.res

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -203,25 +203,14 @@ let mergeMany = (d, arr) => d.data = addArrayMutate(d.data, arr)
203203
let make = () => {data: None}
204204

205205
let isEmpty = d => N.isEmpty(d.data)
206-
207206
let minimum = d => N.minimum(d.data)
208-
209207
let minUndefined = d => N.minUndefined(d.data)
210-
211208
let maximum = d => N.maximum(d.data)
212-
213209
let maxUndefined = d => N.maxUndefined(d.data)
214-
215-
let forEachU = (d, f) => N.forEachU(d.data, f)
216-
let forEach = (d, f) => forEachU(d, a => f(a))
217-
218-
let reduceU = (d, acc, cb) => N.reduceU(d.data, acc, cb)
219-
let reduce = (d, acc, cb) => reduceU(d, acc, (a, b) => cb(a, b))
220-
221-
let everyU = (d, p) => N.everyU(d.data, p)
222-
let every = (d, p) => everyU(d, a => p(a))
223-
let someU = (d, p) => N.someU(d.data, p)
224-
let some = (d, p) => someU(d, a => p(a))
210+
let forEach = (d, f) => N.forEach(d.data, f)
211+
let reduce = (d, acc, cb) => N.reduce(d.data, acc, cb)
212+
let every = (d, p) => N.every(d.data, p)
213+
let some = (d, p) => N.some(d.data, p)
225214
let size = d => N.size(d.data)
226215
let toList = d => N.toList(d.data)
227216
let toArray = d => N.toArray(d.data)
@@ -262,14 +251,12 @@ let split = (d, key) => {
262251
}
263252
}
264253

265-
let keepU = (d, p) => {data: N.keepCopyU(d.data, p)}
266-
let keep = (d, p) => keepU(d, a => p(a))
254+
let keep = (d, p) => {data: N.keepCopy(d.data, p)}
267255

268-
let partitionU = (d, p) => {
269-
let (a, b) = N.partitionCopyU(d.data, p)
256+
let partition = (d, p) => {
257+
let (a, b) = N.partitionCopy(d.data, p)
270258
({data: a}, {data: b})
271259
}
272-
let partition = (d, p) => partitionU(d, a => p(a))
273260

274261
let subset = (a, b) => I.subset(a.data, b.data)
275262
let intersect = (dataa, datab) => {
@@ -344,3 +331,10 @@ let union = (dataa: t, datab: t): t => {
344331
let has = (d, x) => I.has(d.data, x)
345332

346333
let copy = d => {data: N.copy(d.data)}
334+
335+
let everyU = every
336+
let forEachU = forEach
337+
let keepU = keep
338+
let partitionU = partition
339+
let reduceU = reduce
340+
let someU = some

belt/src/belt.res

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@ The two versions can be invoked as follows:
103103
104104
```rescript
105105
["a", "b", "c"]->Belt.Array.forEach(x => Js.log(x))
106-
107-
["a", "b", "c"]->Belt.Array.forEachU(x => Js.log(x))
108106
```
109107
110108
## Specialized Collections

0 commit comments

Comments
 (0)