Skip to content

Commit 5e5ad6e

Browse files
committed
address comments form rescript-lang#2463
1 parent 3153ed1 commit 5e5ad6e

Some content is hidden

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

69 files changed

+303
-538
lines changed

jscomp/others/bs_Map.ml

+13-18
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ let partition m p =
305305
let map m f =
306306
let dict, map = B.(dict m, data m) in
307307
B.bag ~dict ~data:(N.map0 map f)
308-
let mapi m f =
308+
let mapWithKey m f =
309309
let dict,map = B.(dict m, data m) in
310310
B.bag ~dict ~data:(N.mapi0 map f)
311311

@@ -321,39 +321,34 @@ let keysToArray m =
321321
let valuesToArray m =
322322
N.valuesToArray0 (B.data m)
323323

324-
let minKeyOpt m = N.minKeyOpt0 (B.data m)
324+
let minKey m = N.minKeyOpt0 (B.data m)
325325
let minKeyNull m = N.minKeyNull0 (B.data m)
326-
let maxKeyOpt m = N.maxKeyOpt0 (B.data m)
326+
let maxKey m = N.maxKeyOpt0 (B.data m)
327327
let maxKeyNull m = N.maxKeyNull0 (B.data m)
328328
let minimum m = N.minKVOpt0 (B.data m)
329329
let minNull m = N.minKVNull0 (B.data m)
330330
let maximum m = N.maxKVOpt0 (B.data m)
331331
let maxNull m = N.maxKVNull0 (B.data m)
332332

333333
let get (type k) (type id) (map : (k,_,id) t) x =
334-
let dict,map = B.(dict map, data map) in
335-
let module X = (val dict) in
336-
N.findOpt0 ~cmp:X.cmp map x
334+
let module X = (val B.dict map) in
335+
N.findOpt0 ~cmp:X.cmp (B.data map) x
337336

338337
let getNull (type k) (type id) (map : (k,_,id) t) x =
339-
let dict,map = B.(dict map, data map) in
340-
let module X = (val dict) in
341-
N.findNull0 ~cmp:X.cmp map x
338+
let module X = (val B.dict map) in
339+
N.findNull0 ~cmp:X.cmp (B.data map) x
342340

343341
let getWithDefault (type k) (type id) (map : (k,_,id) t) x def =
344-
let dict,map = B.(dict map, data map) in
345-
let module X = (val dict) in
346-
N.findWithDefault0 ~cmp:X.cmp map x def
342+
let module X = (val B.dict map) in
343+
N.findWithDefault0 ~cmp:X.cmp (B.data map) x def
347344

348345
let getExn (type k) (type id) (map : (k,_,id) t) x =
349-
let dict,map = B.(dict map, data map) in
350-
let module X = (val dict) in
351-
N.findExn0 ~cmp:X.cmp map x
346+
let module X = (val B.dict map) in
347+
N.findExn0 ~cmp:X.cmp (B.data map) x
352348

353349
let has (type k) (type id) (map : (k,_,id) t) x =
354-
let dict,map = B.(dict map, data map) in
355-
let module X = (val dict) in
356-
N.mem0 ~cmp:X.cmp map x
350+
let module X = (val B.dict map) in
351+
N.mem0 ~cmp:X.cmp (B.data map) x
357352

358353
let checkInvariant m =
359354
N.checkInvariant (B.data m)

jscomp/others/bs_Map.mli

+5-5
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ type ('k,'v,'id) t
4040

4141
val empty: dict:('k, 'id) Bs_Cmp.t -> ('k, 'a, 'id) t
4242
val isEmpty: _ t -> bool
43-
val singleton: 'k -> 'a -> dict:('k,'id) Bs_Cmp.t -> ('k, 'a, 'id) t
43+
4444
val has: ('k, 'a, 'id) t -> 'k -> bool
4545
val cmp:
4646
('k, 'v, 'id) t ->
@@ -83,9 +83,9 @@ val toArray: ('k, 'a, 'id) t -> ('k * 'a) array
8383
val ofArray: ('k * 'a) array -> dict:('k,'id) Bs_Cmp.t -> ('k,'a,'id) t
8484
val keysToArray: ('k, 'a, 'id) t -> 'k array
8585
val valuesToArray: ('k, 'a, 'id) t -> 'a array
86-
val minKeyOpt: ('k, _, _) t -> 'k option
86+
val minKey: ('k, _, _) t -> 'k option
8787
val minKeyNull: ('k, _, _) t -> 'k Js.null
88-
val maxKeyOpt: ('k, _, _) t -> 'k option
88+
val maxKey: ('k, _, _) t -> 'k option
8989
val maxKeyNull: ('k, _, _) t -> 'k Js.null
9090
val minimum: ('k, 'a, _) t -> ('k * 'a) option
9191
val minNull: ('k, 'a, _) t -> ('k * 'a) Js.null
@@ -158,7 +158,7 @@ val map: ('k, 'a, 'id) t -> ('a -> 'b [@bs]) -> ('k ,'b,'id ) t
158158
The bindings are passed to [f] in increasing order
159159
with respect to the ordering over the type of the keys. *)
160160

161-
val mapi: ('k, 'a, 'id) t -> ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
161+
val mapWithKey: ('k, 'a, 'id) t -> ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
162162

163163

164164
(****************************************************************************)
@@ -204,7 +204,7 @@ val update0:
204204
cmp:('k, 'id) Bs_Cmp.cmp ->
205205
('k, 'a, 'id) t0
206206

207-
val singleton0 : 'k -> 'a -> ('k, 'a, 'id) t0
207+
208208

209209
val remove0:
210210
('k, 'a, 'id) t0 ->

jscomp/others/bs_MapInt.ml

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ let empty = N.empty0
1313
let isEmpty = N.isEmpty0
1414
let singleton = N.singleton0
1515

16-
let minKeyOpt = N.minKeyOpt0
16+
let minKey = N.minKeyOpt0
1717
let minKeyNull = N.minKeyNull0
18-
let maxKeyOpt = N.maxKeyOpt0
18+
let maxKey = N.maxKeyOpt0
1919
let maxKeyNull = N.maxKeyNull0
2020
let minimum = N.minKVOpt0
2121
let minNull = N.minKVNull0
2222
let maximum = N.maxKVOpt0
2323
let maxNull = N.maxKVNull0
2424
let forEach = N.iter0
2525
let map = N.map0
26-
let mapi = N.mapi0
27-
let fold = N.fold0
26+
let mapWithKey = N.mapi0
27+
let reduce = N.fold0
2828
let every = N.every0
2929
let some = N.some0
3030
let keepBy = N.filterShared0

jscomp/others/bs_MapInt.mli

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ type 'a t
66

77
val empty: 'a t
88
val isEmpty: 'a t -> bool
9-
val singleton: key -> 'a -> 'a t
9+
1010
val has: 'a t -> key -> bool
1111
val cmp: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
1212

@@ -22,7 +22,7 @@ val forEach: 'a t -> (key -> 'a -> unit [@bs]) -> unit
2222
as second argument. The bindings are passed to [f] in increasing
2323
order with respect to the ordering over the type of the keys. *)
2424

25-
val fold: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
25+
val reduce: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
2626
(** [reduce m a f] computes [(f kN dN ... (f k1 d1 a)...)],
2727
where [k1 ... kN] are the keys of all bindings in [m]
2828
(in increasing order), and [d1 ... dN] are the associated data. *)
@@ -43,9 +43,9 @@ val toArray: 'a t -> (key * 'a) array
4343
val ofArray: (key * 'a) array -> 'a t
4444
val keysToArray: 'a t -> key array
4545
val valuesToArray: 'a t -> 'a array
46-
val minKeyOpt: _ t -> key option
46+
val minKey: _ t -> key option
4747
val minKeyNull: _ t -> key Js.null
48-
val maxKeyOpt: _ t -> key option
48+
val maxKey: _ t -> key option
4949
val maxKeyNull: _ t -> key Js.null
5050
val minimum: 'a t -> (key * 'a) option
5151
val minNull: 'a t -> (key * 'a) Js.null
@@ -119,7 +119,7 @@ val map: 'a t -> ('a -> 'b [@bs]) -> 'b t
119119
The bindings are passed to [f] in increasing order
120120
with respect to the ordering over the type of the keys. *)
121121

122-
val mapi: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
122+
val mapWithKey: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
123123

124124

125-
val checkInvariant : _ t -> bool
125+
val checkInvariant: _ t -> bool

jscomp/others/bs_MapIntM.ml

+10-21
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,23 @@ let isEmpty m = N.isEmpty0 (data m)
1919
let singleton k v = t ~data:(N.singleton0 k v)
2020

2121
let minKeyNull m = N.minKeyNull0 (data m)
22-
let minKeyOpt m = N.minKeyOpt0 (data m)
22+
let minKey m = N.minKeyOpt0 (data m)
2323
let maxKeyNull m = N.maxKeyNull0 (data m)
24-
let maxKeyOpt m = N.maxKeyOpt0 (data m)
24+
let maxKey m = N.maxKeyOpt0 (data m)
2525
let minimum m = N.minKVOpt0 (data m)
2626
let minNull m = N.minKVNull0 (data m)
2727
let maximum m = N.maxKVOpt0 (data m)
2828
let maxNull m = N.maxKVNull0 (data m)
2929

30-
let setDone (m : _ t) k v =
30+
let set (m : _ t) k v =
3131
let old_data = data m in
3232
let v = I.addMutate old_data k v in
3333
if v != old_data then
3434
dataSet m v
3535

36-
let set (d : 'a t) (k : key) (v : 'a) : 'a t=
37-
setDone d k v;
38-
d
3936
let forEach d f = N.iter0 (data d) f
4037
let map d f = t ~data:(N.map0 (data d) f)
41-
let mapi d f = t ~data:(N.mapi0 (data d) f)
38+
let mapWithKey d f = t ~data:(N.mapi0 (data d) f)
4239
let reduce d acc f = N.fold0 (data d) acc f
4340
let every d f = N.every0 (data d) f
4441
let some d f = N.some0 (data d) f
@@ -78,7 +75,7 @@ let rec removeMutateAux nt (x : key)=
7875
N.return (N.balMutate nt)
7976
end
8077

81-
let removeDone d v =
78+
let remove d v =
8279
let oldRoot = data d in
8380
match N.toOpt oldRoot with
8481
| None -> ()
@@ -87,9 +84,6 @@ let removeDone d v =
8784
if newRoot != oldRoot then
8885
dataSet d newRoot
8986

90-
let remove d v =
91-
removeDone d v;
92-
d
9387

9488
let rec updateDone0 t (x : key) f =
9589
match N.toOpt t with
@@ -123,16 +117,14 @@ let rec updateDone0 t (x : key) f =
123117
else
124118
N.rightSet nt (updateDone0 r x f);
125119
);
126-
N.return (N.balMutate nt)
127-
let updateDone t x f =
120+
N.return (N.balMutate nt)
121+
122+
let update t x f =
128123
let oldRoot = data t in
129124
let newRoot = updateDone0 oldRoot x f in
130125
if newRoot != oldRoot then
131126
dataSet t newRoot
132-
133-
let update t x f =
134-
updateDone t x f ;
135-
t
127+
136128
let rec removeArrayMutateAux t xs i len =
137129
if i < len then
138130
let ele = A.getUnsafe xs i in
@@ -142,7 +134,7 @@ let rec removeArrayMutateAux t xs i len =
142134
| Some t -> removeArrayMutateAux t xs (i+1) len
143135
else N.return t
144136

145-
let removeArrayDone (type elt) (type id) (d : _ t) xs =
137+
let removeMany (type elt) (type id) (d : _ t) xs =
146138
let oldRoot = data d in
147139
match N.toOpt oldRoot with
148140
| None -> ()
@@ -152,9 +144,6 @@ let removeArrayDone (type elt) (type id) (d : _ t) xs =
152144
if newRoot != oldRoot then
153145
dataSet d newRoot
154146

155-
let removeArray d xs =
156-
removeArrayDone d xs;
157-
d
158147

159148
let cmp = I.cmp
160149
let eq = I.eq

jscomp/others/bs_MapIntM.mli

+11-13
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ type 'a t
3131

3232
val empty: unit -> 'a t
3333
val isEmpty: 'a t -> bool
34-
val singleton: key -> 'a -> 'a t
34+
3535
val has: 'a t -> key -> bool
3636
val cmp: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
3737
(** [cmp m1 m2 cmp]
@@ -74,9 +74,9 @@ val toArray: 'a t -> (key * 'a) array
7474
val ofArray: (key * 'a) array -> 'a t
7575
val keysToArray: 'a t -> key array
7676
val valuesToArray: 'a t -> 'a array
77-
val minKeyOpt: _ t -> key option
77+
val minKey: _ t -> key option
7878
val minKeyNull: _ t -> key Js.null
79-
val maxKeyOpt: _ t -> key option
79+
val maxKey: _ t -> key option
8080
val maxKeyNull: _ t -> key Js.null
8181
val minimum: 'a t -> (key * 'a) option
8282
val minNull: 'a t -> (key * 'a) Js.null
@@ -87,24 +87,22 @@ val getNull: 'a t -> key -> 'a Js.null
8787
val getWithDefault: 'a t -> key -> 'a -> 'a
8888
val getExn: 'a t -> key -> 'a
8989
val checkInvariant: _ t -> bool
90+
9091
(****************************************************************************)
9192

9293
(*TODO: add functional [merge, partition, keepBy, split]*)
9394

94-
val removeDone: 'a t -> key -> unit
95-
val remove: 'a t -> key -> 'a t
96-
(** [remove m x] do the in-place modification, return [m] for chaining *)
97-
val removeArrayDone: 'a t -> key array -> unit
98-
val removeArray: 'a t -> key array -> 'a t
95+
val remove: 'a t -> key -> unit
96+
(** [remove m x] do the in-place modification *)
97+
val removeMany: 'a t -> key array -> unit
9998

100-
val setDone: 'a t -> key -> 'a -> unit
101-
val set: 'a t -> key -> 'a -> 'a t
99+
val set: 'a t -> key -> 'a -> unit
102100
(** [add m x y] do the in-place modification, return
103101
[m] for chaining. If [x] was already bound
104102
in [m], its previous binding disappears. *)
105103

106-
val updateDone: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
107-
val update: 'a t -> key -> ('a option -> 'a option [@bs]) -> 'a t
104+
val update: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
105+
108106

109107
val map: 'a t -> ('a -> 'b [@bs]) -> 'b t
110108
(** [map m f] returns a map with same domain as [m], where the
@@ -113,7 +111,7 @@ val map: 'a t -> ('a -> 'b [@bs]) -> 'b t
113111
The bindings are passed to [f] in increasing order
114112
with respect to the ordering over the type of the keys. *)
115113

116-
val mapi: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
114+
val mapWithKey: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
117115

118116

119117

0 commit comments

Comments
 (0)