Skip to content

Commit 0c5f79c

Browse files
authored
Addresses a first wave of beta feedback. (#2536)
This puts the most important stuff in prominent position. Before: ```js { left: { left: null, key: 1, right: null, h: 1 }, key: 2, right: { left: null, key: 3, right: { left: null, key: 5, right: null, h: 1 }, h: 2 }, h: 3 } ``` After: ```js { value: 2, height: 3, left: { value: 1, height: 1, left: null, right: null }, right: { value: 3, height: 2, left: null, right: { value: 5, height: 1, left: null, right: null } } } ``` Friendlier in browser consoles too. Explicitly name "h" to "height" for extra education.
1 parent 5ab2b92 commit 0c5f79c

33 files changed

+735
-723
lines changed

Diff for: jscomp/others/belt_MapDict.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ let rec mergeU s1 s2 f ~cmp =
232232
f k None (Some v) [@bs]
233233
)
234234
| Some s1n , Some s2n ->
235-
if N.h s1n >= N.h s2n then
235+
if N.height s1n >= N.height s2n then
236236
let l1, v1, d1, r1 = N.(left s1n, key s1n, value s1n, right s1n) in
237237
let d2 = ref None in
238238
let (l2, r2) = splitAuxPivot ~cmp s2n v1 d2 in

Diff for: jscomp/others/belt_MutableSet.ml

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ type ('k, 'id) t = ('k, 'id) S.t
4646

4747

4848
let rec remove0 nt x ~cmp =
49-
let k = N.key nt in
49+
let k = N.value nt in
5050
let c = cmp x k [@bs] in
5151
if c = 0 then
5252
let l,r = N.(left nt, right nt) in
@@ -103,7 +103,7 @@ let removeMany d xs =
103103

104104

105105
let rec removeCheck0 nt x removed ~cmp=
106-
let k = N.key nt in
106+
let k = N.value nt in
107107
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
108108
if c = 0 then
109109
let () = removed := true in
@@ -151,7 +151,7 @@ let rec addCheck0 t x added ~cmp =
151151
added := true;
152152
N.singleton x
153153
| Some nt ->
154-
let k = N.key nt in
154+
let k = N.value nt in
155155
let c = cmp x k [@bs] in
156156
if c = 0 then t
157157
else

Diff for: jscomp/others/belt_MutableSetInt.ml

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ type t = {
4646

4747

4848
let rec remove0 nt (x : value)=
49-
let k = N.key nt in
49+
let k = N.value nt in
5050
if x = k then
5151
let l,r = N.(left nt, right nt) in
5252
match N.(toOpt l, toOpt r) with
@@ -99,7 +99,7 @@ let removeMany (d : t) xs =
9999
dataSet d (removeMany0 nt xs 0 len)
100100

101101
let rec removeCheck0 nt (x : value) removed =
102-
let k = N.key nt in
102+
let k = N.value nt in
103103
if x = k then
104104
let () = removed := true in
105105
let l,r = N.(left nt, right nt) in
@@ -145,7 +145,7 @@ let rec addCheck0 t (x : value) added =
145145
added := true;
146146
N.singleton x
147147
| Some nt ->
148-
let k = N.key nt in
148+
let k = N.value nt in
149149
if x = k then t
150150
else
151151
let l, r = N.(left nt, right nt) in

Diff for: jscomp/others/belt_MutableSetString.ml

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ type t = {
4646

4747

4848
let rec remove0 nt (x : value)=
49-
let k = N.key nt in
49+
let k = N.value nt in
5050
if x = k then
5151
let l,r = N.(left nt, right nt) in
5252
match N.(toOpt l, toOpt r) with
@@ -99,7 +99,7 @@ let removeMany (d : t) xs =
9999
dataSet d (removeMany0 nt xs 0 len)
100100

101101
let rec removeCheck0 nt (x : value) removed =
102-
let k = N.key nt in
102+
let k = N.value nt in
103103
if x = k then
104104
let () = removed := true in
105105
let l,r = N.(left nt, right nt) in
@@ -145,7 +145,7 @@ let rec addCheck0 t (x : value) added =
145145
added := true;
146146
N.singleton x
147147
| Some nt ->
148-
let k = N.key nt in
148+
let k = N.value nt in
149149
if x = k then t
150150
else
151151
let l, r = N.(left nt, right nt) in

Diff for: jscomp/others/belt_SetDict.ml

+12-12
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ let rec add (t : _ t) x ~cmp : _ t =
3838
match N.toOpt t with
3939
| None -> N.singleton x
4040
| Some nt ->
41-
let k = N.key nt in
41+
let k = N.value nt in
4242
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
4343
if c = 0 then t
4444
else
@@ -56,14 +56,14 @@ let rec remove (t : _ t) x ~cmp : _ t =
5656
match N.toOpt t with
5757
None -> t
5858
| Some n ->
59-
let l,v,r = N.(left n , key n, right n) in
59+
let l,v,r = N.(left n , value n, right n) in
6060
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
6161
if c = 0 then
6262
match N.toOpt l, N.toOpt r with
6363
| (None, _) -> r
6464
| (_, None) -> l
6565
| (_, Some rn) ->
66-
let v = ref (N.key rn) in
66+
let v = ref (N.value rn) in
6767
let r = N.removeMinAuxWithRef rn v in
6868
N.bal l !v r
6969
else
@@ -95,7 +95,7 @@ let removeMany h arr ~cmp =
9595
!v
9696

9797
let rec splitAuxNoPivot ~cmp (n : _ N.node) x : _ * _ =
98-
let l,v,r = N.(left n , key n, right n) in
98+
let l,v,r = N.(left n , value n, right n) in
9999
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
100100
if c = 0 then l,r
101101
else
@@ -115,7 +115,7 @@ let rec splitAuxNoPivot ~cmp (n : _ N.node) x : _ * _ =
115115
N.joinShared l v lr, rr
116116

117117
let rec splitAuxPivot ~cmp (n : _ N.node) x pres : _ * _ =
118-
let l,v,r = N.(left n , key n, right n) in
118+
let l,v,r = N.(left n , value n, right n) in
119119
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
120120
if c = 0 then
121121
begin
@@ -155,18 +155,18 @@ let rec union (s1 : _ t) (s2 : _ t) ~cmp : _ t =
155155
(None, _) -> s2
156156
| (_, None) -> s1
157157
| Some n1, Some n2 ->
158-
let h1, h2 = N.(h n1 , h n2) in
158+
let h1, h2 = N.(height n1 , height n2) in
159159
if h1 >= h2 then
160-
if h2 = 1 then add ~cmp s1 (N.key n2)
160+
if h2 = 1 then add ~cmp s1 (N.value n2)
161161
else begin
162-
let l1, v1, r1 = N.(left n1, key n1, right n1) in
162+
let l1, v1, r1 = N.(left n1, value n1, right n1) in
163163
let l2, r2 = splitAuxNoPivot ~cmp n2 v1 in
164164
N.joinShared (union ~cmp l1 l2) v1 (union ~cmp r1 r2)
165165
end
166166
else
167-
if h1 = 1 then add s2 ~cmp (N.key n1)
167+
if h1 = 1 then add s2 ~cmp (N.value n1)
168168
else begin
169-
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
169+
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
170170
let l1, r1 = splitAuxNoPivot ~cmp n1 v2 in
171171
N.joinShared (union ~cmp l1 l2) v2 (union ~cmp r1 r2)
172172
end
@@ -176,7 +176,7 @@ let rec intersect (s1 : _ t) (s2 : _ t) ~cmp =
176176
| None, _
177177
| _, None -> N.empty
178178
| Some n1, Some n2 ->
179-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
179+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
180180
let pres = ref false in
181181
let l2,r2 = splitAuxPivot ~cmp n2 v1 pres in
182182
let ll = intersect ~cmp l1 l2 in
@@ -189,7 +189,7 @@ let rec diff s1 s2 ~cmp =
189189
(None, _)
190190
| (_, None) -> s1
191191
| Some n1, Some n2 ->
192-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
192+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
193193
let pres = ref false in
194194
let l2, r2 = splitAuxPivot ~cmp n2 v1 pres in
195195
let ll = diff ~cmp l1 l2 in

Diff for: jscomp/others/belt_SetInt.ml

+13-13
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ let rec add (t : t) (x : value) : t =
3838
match N.toOpt t with
3939
None -> N.singleton x
4040
| Some nt ->
41-
let v = N.key nt in
41+
let v = N.value nt in
4242
if x = v then t else
4343
let l, r = N.(left nt , right nt) in
4444
if x < v then
@@ -64,13 +64,13 @@ let rec remove (t : t) (x : value) : t =
6464
match N.toOpt t with
6565
| None -> t
6666
| Some n ->
67-
let l,v,r = N.(left n, key n, right n) in
67+
let l,v,r = N.(left n, value n, right n) in
6868
if x = v then
6969
match N.toOpt l, N.toOpt r with
7070
| None, _ -> r
7171
| _, None -> l
7272
| _, Some rn ->
73-
let v = ref (N.key rn) in
73+
let v = ref (N.value rn) in
7474
let r = N.removeMinAuxWithRef rn v in
7575
N.bal l !v r
7676
else
@@ -102,7 +102,7 @@ let subset = I.subset
102102
let has = I.has
103103

104104
let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
105-
let l,v,r = N.(left n , key n, right n) in
105+
let l,v,r = N.(left n , value n, right n) in
106106
if x = v then l, r
107107
else if x < v then
108108
match N.toOpt l with
@@ -121,9 +121,9 @@ let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
121121

122122

123123
let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
124-
let l,v,r = N.(left n , key n, right n) in
124+
let l,v,r = N.(left n , value n, right n) in
125125
if x = v then begin
126-
pres := true;
126+
pres := true;
127127
(l, r)
128128
end
129129
else if x < v then
@@ -156,16 +156,16 @@ let rec union (s1 : t) (s2 : t) =
156156
(None, _) -> s2
157157
| (_, None) -> s1
158158
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
159-
let h1, h2 = N.(h n1 , h n2) in
159+
let h1, h2 = N.(height n1 , height n2) in
160160
if h1 >= h2 then
161-
if h2 = 1 then add s1 (N.key n2) else begin
162-
let l1, v1, r1 = N.(left n1, key n1, right n1) in
161+
if h2 = 1 then add s1 (N.value n2) else begin
162+
let l1, v1, r1 = N.(left n1, value n1, right n1) in
163163
let (l2, r2) = splitAuxNoPivot n2 v1 in
164164
N.joinShared (union l1 l2) v1 (union r1 r2)
165165
end
166166
else
167-
if h1 = 1 then add s2 (N.key n1) else begin
168-
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
167+
if h1 = 1 then add s2 (N.value n1) else begin
168+
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
169169
let (l1, r1) = splitAuxNoPivot n1 v2 in
170170
N.joinShared (union l1 l2) v2 (union r1 r2)
171171
end
@@ -175,7 +175,7 @@ let rec intersect (s1 : t) (s2 : t) =
175175
(None, _)
176176
| (_, None) -> N.empty
177177
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
178-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
178+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
179179
let pres = ref false in
180180
let l2,r2 = splitAuxPivot n2 v1 pres in
181181
let ll = intersect l1 l2 in
@@ -188,7 +188,7 @@ let rec diff (s1 : t) (s2 : t) =
188188
| (None, _)
189189
| (_, None) -> s1
190190
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
191-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
191+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
192192
let pres = ref false in
193193
let l2, r2 = splitAuxPivot n2 v1 pres in
194194
let ll = diff l1 l2 in

Diff for: jscomp/others/belt_SetString.ml

+13-13
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ let rec add (t : t) (x : value) : t =
3838
match N.toOpt t with
3939
None -> N.singleton x
4040
| Some nt ->
41-
let v = N.key nt in
41+
let v = N.value nt in
4242
if x = v then t else
4343
let l, r = N.(left nt , right nt) in
4444
if x < v then
@@ -64,13 +64,13 @@ let rec remove (t : t) (x : value) : t =
6464
match N.toOpt t with
6565
| None -> t
6666
| Some n ->
67-
let l,v,r = N.(left n, key n, right n) in
67+
let l,v,r = N.(left n, value n, right n) in
6868
if x = v then
6969
match N.toOpt l, N.toOpt r with
7070
| None, _ -> r
7171
| _, None -> l
7272
| _, Some rn ->
73-
let v = ref (N.key rn) in
73+
let v = ref (N.value rn) in
7474
let r = N.removeMinAuxWithRef rn v in
7575
N.bal l !v r
7676
else
@@ -102,7 +102,7 @@ let subset = I.subset
102102
let has = I.has
103103

104104
let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
105-
let l,v,r = N.(left n , key n, right n) in
105+
let l,v,r = N.(left n , value n, right n) in
106106
if x = v then l, r
107107
else if x < v then
108108
match N.toOpt l with
@@ -121,9 +121,9 @@ let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
121121

122122

123123
let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
124-
let l,v,r = N.(left n , key n, right n) in
124+
let l,v,r = N.(left n , value n, right n) in
125125
if x = v then begin
126-
pres := true;
126+
pres := true;
127127
(l, r)
128128
end
129129
else if x < v then
@@ -156,16 +156,16 @@ let rec union (s1 : t) (s2 : t) =
156156
(None, _) -> s2
157157
| (_, None) -> s1
158158
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
159-
let h1, h2 = N.(h n1 , h n2) in
159+
let h1, h2 = N.(height n1 , height n2) in
160160
if h1 >= h2 then
161-
if h2 = 1 then add s1 (N.key n2) else begin
162-
let l1, v1, r1 = N.(left n1, key n1, right n1) in
161+
if h2 = 1 then add s1 (N.value n2) else begin
162+
let l1, v1, r1 = N.(left n1, value n1, right n1) in
163163
let (l2, r2) = splitAuxNoPivot n2 v1 in
164164
N.joinShared (union l1 l2) v1 (union r1 r2)
165165
end
166166
else
167-
if h1 = 1 then add s2 (N.key n1) else begin
168-
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
167+
if h1 = 1 then add s2 (N.value n1) else begin
168+
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
169169
let (l1, r1) = splitAuxNoPivot n1 v2 in
170170
N.joinShared (union l1 l2) v2 (union r1 r2)
171171
end
@@ -175,7 +175,7 @@ let rec intersect (s1 : t) (s2 : t) =
175175
(None, _)
176176
| (_, None) -> N.empty
177177
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
178-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
178+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
179179
let pres = ref false in
180180
let l2,r2 = splitAuxPivot n2 v1 pres in
181181
let ll = intersect l1 l2 in
@@ -188,7 +188,7 @@ let rec diff (s1 : t) (s2 : t) =
188188
| (None, _)
189189
| (_, None) -> s1
190190
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
191-
let l1,v1,r1 = N.(left n1, key n1, right n1) in
191+
let l1,v1,r1 = N.(left n1, value n1, right n1) in
192192
let pres = ref false in
193193
let l2, r2 = splitAuxPivot n2 v1 pres in
194194
let ll = diff l1 l2 in

0 commit comments

Comments
 (0)