diff --git a/docs/api/Belt.Array.html b/docs/api/Belt.Array.html new file mode 100644 index 0000000000..93b213f9a7 --- /dev/null +++ b/docs/api/Belt.Array.html @@ -0,0 +1,659 @@ + + +
+ + + + + + + +module Array: Belt_Array
Belt.Array
+
+
+ mutable array: Utililites functions
+
+
val length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module HashMap: Belt_HashMap
Belt.HashMap
++ + The toplevel provides generic mutable hash map operations. +
+
+ It also has two specialized inner modules
+ Belt.HashMap.Int
and Belt.HashMap.String
+
+
module Int: Belt_HashMapInt
int
, more efficient
+ than the gerneic typemodule String: Belt_HashMapString
string
, more efficient
+ than the gerneic typetype ('key, 'value, 'id)
t
+'key
to type 'value
.type+('a, 'id)
id =('a, 'id) Belt_Id.hashable
val make : hintSize:int ->
id:('key, 'id) id -> ('key, 'value, 'id) t
+val clear : ('key, 'value, 'id) t -> unit
val isEmpty : ('a, 'b, 'c) t -> bool
+val set : ('key, 'value, 'id) t -> 'key -> 'value -> unit
set tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : ('key, 'value, 'id) t -> ('key, 'value, 'id) t
+val get : ('key, 'value, 'id) t -> 'key -> 'value option
+val has : ('key, 'value, 'id) t -> 'key -> bool
has tbl x
checks if x
is bound in tbl
.val remove : ('key, 'value, 'id) t -> 'key -> unit
+val forEachU : ('key, 'value, 'id) t -> ('key -> 'value -> unit [@bs]) -> unit
+val forEach : ('key, 'value, 'id) t -> ('key -> 'value -> unit) -> unit
forEach tbl f
applies f
to all bindings in table tbl
.
+ f
receives the key as first argument, and the associated value
+ as second argument. Each binding is presented exactly once to f
.val reduceU : ('key, 'value, 'id) t ->
'c -> ('c -> 'key -> 'value -> 'c [@bs]) -> 'c
+val reduce : ('key, 'value, 'id) t ->
'c -> ('c -> 'key -> 'value -> 'c) -> 'c
reduce tbl init f
computes
+ (f kN dN ... (f k1 d1 init)...)
,
+ where k1 ... kN
are the keys of all bindings in tbl
,
+ and d1 ... dN
are the associated values.
+ Each binding is presented exactly once to f
.
+
+
+ The order in which the bindings are passed to f
is unspecified.
+ However, if the table contains several bindings for the same key,
+ they are passed to f
in reverse order of introduction, that is,
+ the most recent binding is passed first.
+
+
val keepMapInPlaceU : ('key, 'value, 'id) t ->
('key -> 'value -> 'value option [@bs]) -> unit
+val keepMapInPlace : ('key, 'value, 'id) t ->
('key -> 'value -> 'value option) -> unit
+val size : ('a, 'b, 'c) t -> int
size tbl
returns the number of bindings in tbl
.
+ It takes constant time.val toArray : ('key, 'value, 'id) t -> ('key * 'value) array
+val keysToArray : ('key, 'a, 'b) t -> 'key array
+val valuesToArray : ('a, 'value, 'b) t -> 'value array
+val ofArray : ('key * 'value) array ->
id:('key, 'id) id -> ('key, 'value, 'id) t
+val mergeMany : ('key, 'value, 'id) t -> ('key * 'value) array -> unit
+val getBucketHistogram : ('a, 'b, 'c) t -> int array
+val logStats : ('a, 'b, 'c) t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt.HashSet.html b/docs/api/Belt.HashSet.html
new file mode 100644
index 0000000000..1e327285e7
--- /dev/null
+++ b/docs/api/Belt.HashSet.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+ module HashSet: Belt_HashSet
Belt.HashSet
++ + The toplevel provides generic mutable hash set operations. +
+
+ It also has two specialized inner modules
+ Belt.HashSet.Int
and Belt.HashSet.String
+
+
module Int: Belt_HashSetInt
int
, more efficient
+ than the gerneic typemodule String: Belt_HashSetString
string
, more efficient
+ than the gerneic typetype ('a, 'id)
t
+type+('a, 'id)
id =('a, 'id) Belt_Id.hashable
val make : hintSize:int -> id:('a, 'id) id -> ('a, 'id) t
+val clear : ('a, 'id) t -> unit
+val isEmpty : ('a, 'b) t -> bool
+val add : ('a, 'id) t -> 'a -> unit
+val copy : ('a, 'id) t -> ('a, 'id) t
+val has : ('a, 'id) t -> 'a -> bool
+val remove : ('a, 'id) t -> 'a -> unit
+val forEachU : ('a, 'id) t -> ('a -> unit [@bs]) -> unit
+val forEach : ('a, 'id) t -> ('a -> unit) -> unit
val reduceU : ('a, 'id) t -> 'c -> ('c -> 'a -> 'c [@bs]) -> 'c
+val reduce : ('a, 'id) t -> 'c -> ('c -> 'a -> 'c) -> 'c
val size : ('a, 'id) t -> int
+val logStats : ('a, 'b) t -> unit
+val toArray : ('a, 'id) t -> 'a array
+val ofArray : 'a array -> id:('a, 'id) id -> ('a, 'id) t
+val mergeMany : ('a, 'id) t -> 'a array -> unit
+val getBucketHistogram : ('a, 'b) t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt.Id.html b/docs/api/Belt.Id.html
new file mode 100644
index 0000000000..6d2f0f6a8d
--- /dev/null
+++ b/docs/api/Belt.Id.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+ module Id: Belt_Id
Belt.Id
++ + Provide utiliites to create identified comparators or hashes for + data structures used below. +
+
+ It create a unique identifer per module of
+ functions so that different data structures with slightly different
+ comparison functions won't mix
+
+
type ('a, 'id)
hash
+('a, 'id) hash
+
+
+ Its runtime represenation is a hash
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
type ('a, 'id)
eq
+('a, 'id) eq
+
+
+ Its runtime represenation is an eq
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
type ('a, 'id)
cmp
+('a,'id) cmp
+
+
+ Its runtime representation is a cmp
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
module type Comparable =sig
..end
type+('key, 'id)
comparable =(module Belt_Id.Comparable with type identity = 'id and type t = 'key)
('key, 'id) cmparable
is a module of functions, here it only includes cmp
.
++ + Unlike normal functions, when created, it comes with a unique identity (guaranteed + by the type system). +
+
+ It can be created using function Belt_Id.comparableU
orBelt_Id.comparable
.
+
+
+ The idea of a unique identity when created is that it makes sure two sets would type
+ mismatch if they use different comparison function
+
+
val comparableU : cmp:('a -> 'a -> int [@bs]) -> (module Belt_Id.Comparable with type t = 'a)
+val comparable : cmp:('a -> 'a -> int) -> (module Belt_Id.Comparable with type t = 'a)
+module type Hashable =sig
..end
type+('key, 'id)
hashable =(module Belt_Id.Hashable with type identity = 'id and type t = 'key)
('key, 'id) hashable
is a module of functions, here it only includes hash
, eq
.
++ + Unlike normal functions, when created, it comes with a unique identity (guaranteed + by the type system). +
+
+ It can be created using function Belt_Id.hashableU
or Belt_Id.hashable
.
+
+
+ The idea of a unique identity when created is that it makes sure two hash sets would type
+ mismatch if they use different comparison function
+
+
val hashableU : hash:('a -> int [@bs]) ->
eq:('a -> 'a -> bool [@bs]) -> (module Belt_Id.Hashable with type t = 'a)
+val hashable : hash:('a -> int) ->
eq:('a -> 'a -> bool) -> (module Belt_Id.Hashable with type t = 'a)
\ No newline at end of file
diff --git a/docs/api/Belt.List.html b/docs/api/Belt.List.html
new file mode 100644
index 0000000000..7385a40186
--- /dev/null
+++ b/docs/api/Belt.List.html
@@ -0,0 +1,846 @@
+
+
+
+
+
+
+
+
+
+
+ module List: Belt_List
Belt.List
+
+
+ Utilities for List data type
+
+
type+'a
t ='a list
'a t
is compatible with built-in list
typeval length : 'a t -> int
length l
l
val size : 'a t -> int
Belt_List.length
val head : 'a t -> 'a option
+head [] = None ;; + head [1;2;3] = Some 1 ;; +
val headExn : 'a t -> 'a
val tail : 'a t -> 'a t option
+tail [] = None ;; + tail [1;2] = Some [2];; +
val tailExn : 'a t -> 'a t
val add : 'a t -> 'a -> 'a t
+add [1] 3 = [3;1];; +
val get : 'a t -> int -> 'a option
get xs n
+
+
+ return the nth element in xs
,
+ or None
if n
is larger than the length
+
+
+get [0;3;32] 2 = Some 2 ;; + get [0;3;32] 3 = None;; +
val getExn : 'a t -> int -> 'a
val make : int -> 'a -> 'a t
make n v
++
n
with each element filled with v
n
is negative+make 3 1 = [1;1;1] +
val makeByU : int -> (int -> 'a [@bs]) -> 'a t
+val makeBy : int -> (int -> 'a) -> 'a t
makeBy n f
++
n
with element i
initialized with f i
n
is negative+makeBy 5 (fun i -> i) = [0;1;2;3;4] +
val drop : 'a t -> int -> 'a t option
drop xs n
+
+
+ return the list obtained by dropping the first n
elements,
+ or None
if xs
has fewer than n
elements
+
+
+drop [1;2;3] 2 = Some [3];; + drop [1;2;3] 3 = Some [];; + drop [1;2;3] 4 = None;; +
val take : 'a t -> int -> 'a t option
take xs n
+
+
+ return a list with the first n
elements from xs
,
+ or None
if xs
has fewer than n
elements
+
+
+take [1;2;3] 1 = Some [1];; + take [1;2;3] 2 = Some [1;2];; + take [1;2;3] 4 = None;; +
val splitAt : 'a t -> int -> ('a list * 'a list) option
splitAt xs n
+ split the list xs
at position n
+ return None when the length of xs
is less than n
+splitAt [0;1;2;3;4] 2 = Some ([0;1], [2;3;4]) +
val concat : 'a t -> 'a t -> 'a t
concat xs ys
ys
after xs
+concat [1;2;3] [4;5] = [1;2;3;4;5] +
val concatMany : 'a t array -> 'a t
concatMany a
+ return the list obtained by concatenating in order all the lists in array a
+concatMany [| [1;2;3] ; []; [3]; [4] |] = [1;2;3;3;4] +
val reverseConcat : 'a t -> 'a t -> 'a t
reverseConcat xs ys
is equivalent to concat (reverse xs) ys
+reverseConcat [1;2] [3;4] = [2;1;3;4] +
val flatten : 'a t t -> 'a t
flatten ls
+ return the list obtained by concatenating in order all the lists in list ls
+flatten [ [1;2;3] ; []; [3]; [4] ] = [1;2;3;3;4] +
val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map xs f
+
+
+ return the list obtained by applying f
to the element of xs
+
+
+map [1;2] (fun x-> x + 1) = [3;4] +
val zip : 'a t -> 'b t -> ('a * 'b) t
zip xs ys
+zip [1;2] [1;2;3] = [(1,1); (2,2)] +
val zipByU : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> 'c t
+val zipBy : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
zipBy xs ys f
+
+
+ See Belt_List.zip
+
+
+ Equivalent to zip xs ys |> List.map (fun (x,y) -> f x y)
+
+
val mapWithIndexU : 'a t -> (int -> 'a -> 'b [@bs]) -> 'b t
+val mapWithIndex : 'a t -> (int -> 'a -> 'b) -> 'b t
+mapWithIndex [1;2;3] (fun i x -> i + x) = + [0 + 1; 1 + 2; 2 + 3 ] +
val ofArray : 'a array -> 'a t
+ofArray [|1;2;3|] = [1;2;3] +
val toArray : 'a t -> 'a array
+toArray [1;2;3] = [|1;2;3|] +
val reverse : 'a t -> 'a t
+reverse [1;2;3] = [3;2;1] +
val mapReverseU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val mapReverse : 'a t -> ('a -> 'b) -> 'b t
mapReverse a f
+
+
+ Equivalent to reverse (map a f)
+
+
val forEachU : 'a t -> ('a -> 'b [@bs]) -> unit
+val forEach : 'a t -> ('a -> 'b) -> unit
forEach xs f
+let us = ref 0;; + forEach [1;2;3;4] (fun x -> us := !us + x);; + !us = 1 + 2 + 3 + 4;; +
val forEachWithIndexU : 'a t -> (int -> 'a -> 'b [@bs]) -> unit
+val forEachWithIndex : 'a t -> (int -> 'a -> 'b) -> unit
forEachWithIndex xs f
+let us = ref 0 ;; + forEachWithIndex [1;1;1;1] (fun i x -> us := !us + x + i);; + !us = 0 + 1 + 1 + 1 + 2 + 1 + 3 + 1;; +
val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduce xs f
+reduce [1;2;3;4] 0 (+) = 10;; + reduce [1;2;3;4] 10 (-) = 0;; + reduce [1;2;3;4] [] add = [4;3;2;1]; +
val reduceReverseU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduceReverse : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduceReverse xs f
+reduceReverse [1;2;3;4] 0 (+) = 10;; + reduceReverse [1;2;3;4] 10 (-) = 0;; + reduceReverse [1;2;3;4] [] add = [1;2;3;4];; +
val mapReverse2U : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> 'c t
+val mapReverse2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
mapReverse2 xs ys f
+
+
+ equivalent to reverse (zipBy xs ys f)
+
+
+mapReverse2 [1;2;3] [1;2] (+) = [4;2] +
val forEach2U : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> unit
+val forEach2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> unit
forEach2 xs ys f
stop with the shorter listval reduce2U : 'b t -> 'c t -> 'a -> ('a -> 'b -> 'c -> 'a [@bs]) -> 'a
+val reduce2 : 'b t -> 'c t -> 'a -> ('a -> 'b -> 'c -> 'a) -> 'a
reduce2 xs ys init f
+
+
+ stops with the shorter list.
+
+
val reduceReverse2U : 'a t -> 'b t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a t -> 'b t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
reduceReverse2 xs ys init f
+
+
+ Stops with the shorter list
+
+
+reduceReverse2 [1;2;3] [1;2] 0 (fun acc x y -> acc + x + y) = 6 +
val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+val every : 'a t -> ('a -> bool) -> bool
every ls p
+every [] (fun x -> x mod 2 = 0) = true;; + every [2;4] (fun x -> x mod 2 = 0 ) true;; +
val someU : 'a t -> ('a -> bool [@bs]) -> bool
+val some : 'a t -> ('a -> bool) -> bool
some ls p
+some [] (fun x -> x mod 2 = 0) = false ;; + some [1;2] (fun x -> x mod 2 = 0) = true;;) +
val every2U : 'a t -> 'b t -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
every2 xs ys p
stop with the shorter list+(every2 [] [1] (fun x y -> x > y)) = true;; + (every2 [2;3] [1] (fun x y -> x > y)) = true;; +
val some2U : 'a t -> 'b t -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
some2 xs ys p
+(some2 [] [1] (fun x y -> x > y)) = false;; + (some2 [2;3] [1;4] (fun x y -> x > y)) = true;; +
val cmpByLength : 'a t -> 'a t -> int
cmpByLength l1 l2
+
+
+ Compare two lists solely by length
+
+
val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
cmp xs ys cmpElem
+ compare lists xs
and ys
using cmpElem
to compare elements++cmp [1;2;3] [1;2;3] compare = 0;; + cmp [1;2;3] [0;1;2;3] compare = 1 ;;] +
+ + Attention: The total ordering of List is different from Array, + for Array, we compare the length first and one by one later, while + for lists, we just compare one by one
val eqU : 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
eq xs ys eqElem
+ check equality of xs
and ys
using eqElem
for equality on elements+eq [1;2;3] [1;2] (=) = false ;; + eq [1;2] [1;2] (=) = true +
val hasU : 'a t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+val has : 'a t -> 'b -> ('a -> 'b -> bool) -> bool
+has [1;2;3] 2 (=) = true;; + has [1;2;3] 4 (=) = false;; +
val getByU : 'a t -> ('a -> bool [@bs]) -> 'a option
+val getBy : 'a t -> ('a -> bool) -> 'a option
+getBy [1;4;3;2] (fun x -> x mod 2 = 0) = Some 4 +
val keepU : 'a t -> ('a -> bool [@bs]) -> 'a t
+val keep : 'a t -> ('a -> bool) -> 'a t
keep xs p
+keep [1;2;3;4] (fun x -> x mod 2 = 0) = + [2;4] +
val keepMapU : 'a t -> ('a -> 'b option [@bs]) -> 'b t
+val keepMap : 'a t -> ('a -> 'b option) -> 'b t
keepMap xs f
+keepMap [1;2;3;4] (fun x -> if x mod 2 = 0 then Some (-x ) else None) + = + [-2;-4] +
val partitionU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+val partition : 'a t -> ('a -> bool) -> 'a t * 'a t
partition xs p
+partition [1;2;3;4] (fun x -> x mod 2 = 0) = + ([2;4], [1;3]) +
val unzip : ('a * 'b) t -> 'a t * 'b t
unzip xs
+unzip [(1,2) ; (3,4)] = ([1;3], [2;4]) +
val getAssocU : ('a * 'c) t -> 'b -> ('a -> 'b -> bool [@bs]) -> 'c option
+val getAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> 'c option
getAssoc xs k eq
+
+
+ return the second element of a pair in xs
where the first element equals x
,
+ or None
if not found
+
+
+getAssoc [ 1, "a"; 2, "b"; 3, "c"] 2 (=) = Some "b" +
val hasAssocU : ('a * 'c) t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+val hasAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> bool
hasAssoc xs x eq
+ return true if there is a pair in xs
where the first element equals x
+hasAssoc [1, "a"; 2, "b"; 3,"c"] 1 (=) = true +
val removeAssocU : ('a * 'c) t ->
'b -> ('a -> 'b -> bool [@bs]) -> ('a * 'c) t
+val removeAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> ('a * 'c) t
removeAssoc xs x eq
+ Try to remove the first pair, if not found, leave it untouched.+removeAssoc [1,"a"; 2, "b"; 3, "c" ] 1 (=) = + [2, "b"; 3, "c"] +
val setAssocU : ('a * 'c) t ->
'a -> 'c -> ('a -> 'a -> bool [@bs]) -> ('a * 'c) t
+val setAssoc : ('a * 'c) t ->
'a -> 'c -> ('a -> 'a -> bool) -> ('a * 'c) t
setAssoc xs k v eq
+ if k
exists in xs
, replace it with the new v
, otherwise, add
+ it to the head+setAssoc [1,"a"; 2, "b"; 3, "c"] 2 "x" (=) = + [1,"a"; 2, "x"; 3,"c"] ;; + + setAssoc [1,"a"; 3, "c"] 2 "2" (=) = + [2,"2"; 1,"a"; 3, "c"] +
module Map: Belt_Map
Belt.Map
,
++ + The toplevel provides generic immutable map operations. +
+
+ It also has three specialized inner modules
+ Belt.Map.Int
and Belt.Map.String
+
+
+ Belt.Map.Dict
: This module separate date from function
+ which is more verbbose but slightly more efficient
+
+
module Int: Belt_MapInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule String: Belt_MapString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule Dict: Belt_MapDict
+
+ Advanced usage only
+
+
type ('key, 'value, 'identity)
t
+('key, 'identity) t
+
+
+ 'key
is the element type
+
+
+ 'identity
the identity of the collection
+
+
type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('k, 'id) id -> ('k, 'a, 'id) t
make ~id
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + let s = make ~id:(module IntCmp) +
val isEmpty : ('a, 'b, 'c) t -> bool
isEmpty s0
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + isEmpty (ofArray [|1,"1"|] ~id:(module IntCmp)) = false;; +
val has : ('k, 'a, 'id) t -> 'k -> bool
has s k
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + has (ofArray [|1,"1"|] ~id:(module IntCmp)) 1 = true;; +
val cmpU : ('k, 'v, 'id) t ->
('k, 'v, 'id) t -> ('v -> 'v -> int [@bs]) -> int
+val cmp : ('k, 'v, 'id) t ->
('k, 'v, 'id) t -> ('v -> 'v -> int) -> int
cmp s0 s1 vcmp
++ + Totoal ordering of map given total ordering of value function. +
+
+ It will compare size first and each element following the order one by one.
+
+
val eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool) -> bool
eq m1 m2 veq
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. veq
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = ofArray ~id:(module IntCmp) [|4,"4";1,"1";2,"2,"3""|];; + let acc = ref [] ;; + forEach s0 (fun k v -> acc := (k,v) :: !acc);; + + !acc = [4,"4"; 3,"3"; 2,"2"; 1,"1"] +
val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'acc -> ('acc -> 'k -> 'a -> 'acc) -> 'acc
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = ofArray ~id:(module IntCmp) [|4,"4";1,"1";2,"2,"3""|];; + reduce s0 [] (fun acc k v -> (k,v) acc ) = [4,"4";3,"3";2,"2";1,"1"];; +
val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
. Order unspecifiedval someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
. Order unspecifiedval size : ('k, 'a, 'id) t -> int
size s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + size (ofArray [2,"2"; 2,"1"; 3,"3"] ~id:(module IntCmp)) = 2 ;; +
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
toArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = [1,"1";2,"2";3,"3"] +
val toList : ('k, 'a, 'id) t -> ('k * 'a) list
+
+ See Belt_Map.toArray
+
+
val ofArray : ('k * 'a) array -> id:('k, 'id) id -> ('k, 'a, 'id) t
ofArray kvs ~id
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = [1,"1";2,"2";3,"3"] +
val keysToArray : ('k, 'a, 'id) t -> 'k array
keysToArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + keysToArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = + [|1;2;3|];; +
val valuesToArray : ('k, 'a, 'id) t -> 'a array
valuesToArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + valuesToArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = + [|"1";"2";"3"|];; +
val minKey : ('k, 'a, 'b) t -> 'k option
minKey s
val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
Belt_Map.minKey
val maxKey : ('k, 'a, 'b) t -> 'k option
maxKey s
val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
Belt_Map.maxKey
val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
minimum s
val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
Belt_Map.minimum
val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
maximum s
val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
Belt_Map.maximum
val get : ('k, 'a, 'id) t -> 'k -> 'a option
get s k
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + get (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) 2 = + Some "2";; + get (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) 2 = + None;; +
val getUndefined : ('k, 'a, 'id) t -> 'k -> 'a Js.undefined
val getWithDefault : ('k, 'a, 'id) t -> 'k -> 'a -> 'a
val getExn : ('k, 'a, 'id) t -> 'k -> 'a
val remove : ('k, 'a, 'id) t -> 'k -> ('k, 'a, 'id) t
remove m x
when x
is not in m
, m
is returned reference unchanged.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp));; + + let s1 = remove s0 1;; + let s2 = remove s1 1;; + s1 == s2 ;; + keysToArray s1 = [|2;3|];; +
val removeMany : ('k, 'a, 'id) t -> 'k array -> ('k, 'a, 'id) t
removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Map.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
+
val set : ('k, 'a, 'id) t -> 'k -> 'a -> ('k, 'a, 'id) t
set m x y
returns a map containing the same bindings as
+ m
, with a new binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp));; + + let s1 = set s0 2 "3";; + + valuesToArray s1 = ["1";"3";"3"];; +
val updateU : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option [@bs]) -> ('k, 'a, 'id) t
+val update : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option) -> ('k, 'a, 'id) t
update m x f
returns a map containing the same bindings as
+ m
, except for the binding of x
.
+ Depending on the value of
+ y
where y
is f (get x m)
, the binding of x
is
+ added, removed or updated. If y
is None
, the binding is
+ removed if it exists; otherwise, if y
is Some z
then x
+ is associated to z
in the resulting map.val mergeMany : ('k, 'a, 'id) t -> ('k * 'a) array -> ('k, 'a, 'id) t
mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
+
val mergeU : ('k, 'a, 'id) t ->
('k, 'b, 'id) t ->
('k -> 'a option -> 'b option -> 'c option [@bs]) -> ('k, 'c, 'id) t
+val merge : ('k, 'a, 'id) t ->
('k, 'b, 'id) t ->
('k -> 'a option -> 'b option -> 'c option) -> ('k, 'c, 'id) t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) t
+val keep : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> ('k, 'a, 'id) t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
+val partition : ('k, 'a, 'id) t ->
('k -> 'a -> bool) -> ('k, 'a, 'id) t * ('k, 'a, 'id) t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : ('k, 'a, 'id) t ->
'k -> (('k, 'a, 'id) t * ('k, 'a, 'id) t) * 'a option
split x m
returns a tuple (l r), data
, where
+ l
is the map with all the bindings of m
whose 'k
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose 'k
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : ('k, 'a, 'id) t -> ('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t -> ('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t -> ('k -> 'a -> 'b) -> ('k, 'b, 'id) t
mapWithKey m f
+
+
+ The same as Belt_Map.map
except that f
is supplied with one more argument: the key
+
+
val getData : ('a, 'b, 'c) t -> ('a, 'b, 'c) Belt_MapDict.t
getData s0
+
+
+ Advanced usage only
+
val getId : ('a, 'b, 'c) t -> ('a, 'c) id
getId s0
+
+
+ Advanced usage only
+
s0
val packIdData : id:('a, 'b) id ->
data:('a, 'c, 'b) Belt_MapDict.t -> ('a, 'c, 'b) t
packIdData ~id ~data
+
+
+ Advanced usage only
+
module MutableMap: Belt_MutableMap
Belt.MutableMap
++ + The toplevel provides generic mutable map operations. +
+
+ It also has two specialized inner modules
+ Belt.MutableMap.Int
and Belt.MutableMap.String
+
+
module Int: Belt_MutableMapInt
module String: Belt_MutableMapString
type ('k, 'v, 'id)
t
+type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('k, 'id) id -> ('k, 'a, 'id) t
+val clear : ('a, 'b, 'c) t -> unit
+val isEmpty : ('a, 'b, 'c) t -> bool
+val has : ('k, 'a, 'b) t -> 'k -> bool
+val cmpU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool) -> bool
eq m1 m2 eqf
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. eqf
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : ('k, 'a, 'id) t -> int
+val toList : ('k, 'a, 'id) t -> ('k * 'a) list
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
+val ofArray : ('k * 'a) array ->
id:('k, 'id) id -> ('k, 'a, 'id) t
+val keysToArray : ('k, 'a, 'b) t -> 'k array
+val valuesToArray : ('b, 'a, 'c) t -> 'a array
+val minKey : ('k, 'a, 'b) t -> 'k option
+val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val maxKey : ('k, 'a, 'b) t -> 'k option
+val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
+val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
+val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val get : ('k, 'a, 'id) t -> 'k -> 'a option
+val getUndefined : ('k, 'a, 'id) t -> 'k -> 'a Js.undefined
+val getWithDefault : ('k, 'a, 'id) t -> 'k -> 'a -> 'a
+val getExn : ('k, 'a, 'id) t -> 'k -> 'a
+val checkInvariantInternal : ('a, 'b, 'c) t -> unit
val remove : ('k, 'a, 'id) t -> 'k -> unit
remove m x
do the in-place modification,val removeMany : ('k, 'a, 'id) t -> 'k array -> unit
+val set : ('k, 'a, 'id) t -> 'k -> 'a -> unit
set m x y
do the in-place modificationval updateU : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option [@bs]) -> unit
+val update : ('k, 'a, 'id) t -> 'k -> ('a option -> 'a option) -> unit
+val mergeMany : ('k, 'a, 'id) t -> ('k * 'a) array -> unit
+val mapU : ('k, 'a, 'id) t ->
('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t ->
('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t ->
('k -> 'a -> 'b) -> ('k, 'b, 'id) t
\ No newline at end of file
diff --git a/docs/api/Belt.MutableQueue.html b/docs/api/Belt.MutableQueue.html
new file mode 100644
index 0000000000..79fb1587e5
--- /dev/null
+++ b/docs/api/Belt.MutableQueue.html
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+ module MutableQueue: Belt_MutableQueue
Belt.MutableQueue
+
+
+ An FIFO(first in first out) queue data structure
+
+
type 'a
t
+'a
.val make : unit -> 'a t
val clear : 'a t -> unit
val isEmpty : 'a t -> bool
true
if the given queue is empty, false
otherwise.val ofArray : 'a array -> 'a t
ofArray a
is equivalent to Array.forEach a (add q a)
val add : 'a t -> 'a -> unit
add q x
adds the element x
at the end of the queue q
.val peek : 'a t -> 'a option
peekOpt q
returns the first element in queue q
, without removing
+ it from the queue.val peekUndefined : 'a t -> 'a Js.undefined
peekUndefined q
returns undefined
if not foundval peekExn : 'a t -> 'a
peekExn q
+
+
+ raise an exception if q
is empty
+
+
val pop : 'a t -> 'a option
pop q
removes and returns the first element in queue q
.val popUndefined : 'a t -> 'a Js.undefined
popUndefined q
removes and returns the first element in queue q
.
+ it will return undefined if it is already emptyval popExn : 'a t -> 'a
popExn q
+
+
+ raise an exception if q
is empty
+
+
val copy : 'a t -> 'a t
copy q
val size : 'a t -> int
val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
forEach q f
applies f
in turn to all elements of q
,
+ from the least recently entered to the most recently entered.
+ The queue itself is unchanged.val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduce q accu f
is equivalent to List.reduce l accu f
,
+ where l
is the list of q
's elements. The queue remains
+ unchanged.val transfer : 'a t -> 'a t -> unit
transfer q1 q2
adds all of q1
's elements at the end of
+ the queue q2
, then clears q1
. It is equivalent to the
+ sequence forEach (fun x -> add x q2) q1; clear q1
, but runs
+ in constant time.val toArray : 'a t -> 'a array
module MutableSet: Belt_MutableSet
Belt.MutableSet
++ + The toplevel provides generic mutable set operations. +
+
+ It also has two specialized inner modules
+ Belt.MutableSet.Int
and Belt.MutableSet.String
+
+
module Int: Belt_MutableSetInt
int
, more efficient
+ than the gerneic typemodule String: Belt_MutableSetString
string
, more efficient
+ than the gerneic typetype ('k, 'id)
t
+type+('k, 'id)
id =('k, 'id) Belt_Id.comparable
val make : id:('elt, 'id) id -> ('elt, 'id) t
+val ofArray : 'k array -> id:('k, 'id) id -> ('k, 'id) t
+val ofSortedArrayUnsafe : 'elt array ->
id:('elt, 'id) id -> ('elt, 'id) t
+val copy : ('k, 'id) t -> ('k, 'id) t
+val isEmpty : ('a, 'b) t -> bool
+val has : ('elt, 'a) t -> 'elt -> bool
+val add : ('elt, 'id) t -> 'elt -> unit
+val addCheck : ('elt, 'id) t -> 'elt -> bool
+val mergeMany : ('elt, 'id) t -> 'elt array -> unit
+val remove : ('elt, 'id) t -> 'elt -> unit
+val removeCheck : ('elt, 'id) t -> 'elt -> bool
+val removeMany : ('elt, 'id) t -> 'elt array -> unit
+val union : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val intersect : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val diff : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val subset : ('elt, 'id) t -> ('elt, 'id) t -> bool
+val cmp : ('elt, 'id) t -> ('elt, 'id) t -> int
+val eq : ('elt, 'id) t -> ('elt, 'id) t -> bool
+val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach m f
applies f
in turn to all elements of m
.
+ In increasing orderval reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every s p
checks if all elements of the set
+ satisfy the predicate p
. Order unspecifiedval someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t
keep s p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) ->
('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) ->
('elt, 'id) t * ('elt, 'id) t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
+val toList : ('elt, 'id) t -> 'elt list
val toArray : ('elt, 'id) t -> 'elt array
+val minimum : ('elt, 'id) t -> 'elt option
+val minUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val maximum : ('elt, 'id) t -> 'elt option
+val maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val get : ('elt, 'id) t -> 'elt -> 'elt option
+val getUndefined : ('elt, 'id) t -> 'elt -> 'elt Js.undefined
+val getExn : ('elt, 'id) t -> 'elt -> 'elt
+val split : ('elt, 'id) t ->
'elt ->
(('elt, 'id) t * ('elt, 'id) t) * bool
split s x
returns a triple ((l, r), present)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.
+ l,r
are freshly made, no sharing with s
val checkInvariantInternal : ('a, 'b) t -> unit
module MutableStack: Belt_MutableStack
Belt.MutableStack
+
+
+ An FILO(first in last out) stack data structure
+
+
type 'a
t
+val make : unit -> 'a t
val clear : 'a t -> unit
val copy : 'a t -> 'a t
copy x
O(1) operation, return a new stackval push : 'a t -> 'a -> unit
+val popUndefined : 'a t -> 'a Js.undefined
+val pop : 'a t -> 'a option
+val topUndefined : 'a t -> 'a Js.undefined
+val top : 'a t -> 'a option
+val isEmpty : 'a t -> bool
+val size : 'a t -> int
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
+val dynamicPopIterU : 'a t -> ('a -> unit [@bs]) -> unit
+val dynamicPopIter : 'a t -> ('a -> unit) -> unit
dynamicPopIter s f
+ apply f
to each element of s
. The item is poped
+ before applying f
, s
will be empty after this opeartion.
+ This function is useful for worklist algorithmmodule Range: Belt_Range
Belt.Range
+
+
+ Utilities for a closed range (from, start)
+
+
val forEachU : int -> int -> (int -> unit [@bs]) -> unit
+val forEach : int -> int -> (int -> unit) -> unit
forEach start finish action
+
+
+ equivalent to Belt.Array.(forEach (range start finish) action)
+
+
val everyU : int -> int -> (int -> bool [@bs]) -> bool
+val every : int -> int -> (int -> bool) -> bool
every start finish p
+
+
+ equivalent to Belt.Array.(every (range start finish) p )
+
+
val everyByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+val everyBy : int -> int -> step:int -> (int -> bool) -> bool
everyBy start finish ~step p
+
+
+ See Belt_Array.rangeBy
+
+
+ equivalent to Belt.Array.(every (rangeBy start finish ~step) p)
+
+
val someU : int -> int -> (int -> bool [@bs]) -> bool
+val some : int -> int -> (int -> bool) -> bool
some start finish p
+
+
+ equivalent to Belt.Array.(some (range start finish) p)
+
+
val someByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+val someBy : int -> int -> step:int -> (int -> bool) -> bool
someBy start finish ~step p
+
+
+ See Belt_Array.rangeBy
+
+
+ equivalent to Belt.Array.(some (rangeBy start finish ~step) p)
+
+
module Set: Belt_Set
Belt.Set
++ + The toplevel provides generic immutable set operations. +
+
+ It also has three specialized inner modules
+ Belt.Set.Int
and Belt.Set.String
+
+
+ Belt.Set.Dict
: This module separate date from function
+ which is more verbbose but slightly more efficient
+
+
module Int: Belt_SetInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule String: Belt_SetString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule Dict: Belt_SetDict
type ('key, 'identity)
t
+('key, 'identity) t
+
+
+ 'key
is the element type
+
+
+ 'identity
the identity of the collection
+
+
type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('elt, 'id) id -> ('elt, 'id) t
make ~id
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y)) + let s = make ~id:(module IntCmp) +
val ofArray : 'k array -> id:('k, 'id) id -> ('k, 'id) t
ofArray xs ~id
+module IntCmp = (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [1;3;2;4] (module IntCmp)) = [1;2;3;4] + +
val ofSortedArrayUnsafe : 'elt array -> id:('elt, 'id) id -> ('elt, 'id) t
ofSortedArrayUnsafe xs ~id
+
+
+ The same as Belt_Set.ofArray
except it is after assuming the input array x
is already sorted
+
+
+ Unsafe
+
+
val isEmpty : ('a, 'b) t -> bool
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + isEmpty (ofArray [||] ~id:(module IntCmp)) = true;; + isEmpty (ofArray [|1|] ~id:(module IntCmp)) = true;; +
val has : ('elt, 'id) t -> 'elt -> bool
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let v = ofArray [|1;4;2;5|] ~id:(module IntCmp);; + has v 3 = false;; + has v 1 = true;; +
val add : ('elt, 'id) t -> 'elt -> ('elt, 'id) t
add s x
If x
was already in s
, s
is returned unchanged.+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = make ~id:(module IntCmp);; + let s1 = add s0 1 ;; + let s2 = add s1 2;; + let s3 = add s2 2;; + toArray s0 = [||];; + toArray s1 = [|1|];; + toArray s2 = [|1;2|];; + toArray s3 = [|1;2|];; + s2 == s3;; +
val mergeMany : ('elt, 'id) t -> 'elt array -> ('elt, 'id) t
mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike Belt_Set.add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
+
val remove : ('elt, 'id) t -> 'elt -> ('elt, 'id) t
remove m x
If x
was not in m
, m
is returned reference unchanged.+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|2;3;1;4;5|];; + let s1 = remove s0 1 ;; + let s2 = remove s1 3 ;; + let s3 = remove s2 3 ;; + + toArray s1 = [|2;3;4;5|];; + toArray s2 = [|2;4;5|];; + s2 == s3;; +
val removeMany : ('elt, 'id) t -> 'elt array -> ('elt, 'id) t
removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Set.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
+
val union : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
union s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (union s0 s1) = [|1;2;3;4;5;6|] +
val intersect : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
intersect s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (intersect s0 s1) = [|2;3;5|] +
val diff : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
diff s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (diff s0 s1) = [|6|];; + toArray (diff s1 s0) = [|1;4|];; +
val subset : ('elt, 'id) t -> ('elt, 'id) t -> bool
subset s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + let s2 = intersect s0 s1;; + subset s2 s0 = true;; + subset s1 s0 = true;; + subset s1 s2 = false;; +
val cmp : ('elt, 'id) t -> ('elt, 'id) t -> int
size
first and then iterate over
+ each element following the order of elementsval eq : ('elt, 'id) t -> ('elt, 'id) t -> bool
eq s0 s1
toArray s0 = toArray s1
val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach s f
applies f
in turn to all elements of s
.
+ In increasing order+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let acc = ref [] ;; + forEach s0 (fun x -> acc := x !acc);; + !acc = [6;5;3;2];; +
val reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + reduce s0 [] Bs.List.add = [6;5;3;2];; +
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t -> ('elt -> bool) -> ('elt, 'id) t
keep m p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t * ('elt, 'id) t
partition m p
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
size s
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + size s0 = 4;; +
val toArray : ('elt, 'id) t -> 'elt array
toArray s0
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + toArray s0 = [|2;3;5;6|];; +
val toList : ('elt, 'id) t -> 'elt list
+
+ See Belt_Set.toArray
+
+
val minimum : ('elt, 'id) t -> 'elt option
minimum s0
None
if it is emptyval minUndefined : ('elt, 'id) t -> 'elt Js.undefined
minUndefined s0
undefined
if it is emptyval maximum : ('elt, 'id) t -> 'elt option
maximum s0
None
if it is emptyval maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
maxUndefined s0
undefined
if it is emptyval get : ('elt, 'id) t -> 'elt -> 'elt option
get s0 k
k'
which is equivalent to k
+ using the comparator specifiecd by this collection, None
+ if it does not existval getUndefined : ('elt, 'id) t -> 'elt -> 'elt Js.undefined
Belt_Set.get
val getExn : ('elt, 'id) t -> 'elt -> 'elt
Belt_Set.get
+
+
+ raise if not exist
+
+
val split : ('elt, 'id) t ->
'elt -> (('elt, 'id) t * ('elt, 'id) t) * bool
split set ele
((smaller, larger), present)
,
+ present
is true when ele
exist in set
val getData : ('k, 'id) t -> ('k, 'id) Belt_SetDict.t
getData s0
+
+
+ Advanced usage only
+
val getId : ('k, 'id) t -> ('k, 'id) id
getId s0
+
+
+ Advanced usage only
+
s0
val packIdData : id:('k, 'id) id ->
data:('k, 'id) Belt_SetDict.t -> ('k, 'id) t
packIdData ~id ~data
+
+
+ Advanced usage only
+
module SortArray: Belt_SortArray
Belt.SortArray
++ + The toplevel provides some generic sort related utililties. +
+
+ It also has two specialized inner modules
+ Belt.SortArray.Int
and Belt.SortArray.String
+
+
module Int: Belt_SortArrayInt
int
, more efficient
+ than the gerneic typemodule String: Belt_SortArrayString
string
, more efficient
+ than the gerneic typeval strictlySortedLengthU : 'a array -> ('a -> 'a -> bool [@bs]) -> int
+val strictlySortedLength : 'a array -> ('a -> 'a -> bool) -> int
strictlySortedLenght xs cmp
+ return +n
means increasing order
+ -n
means negative order+strictlySortedLength [|1;2;3;4;3|] (fun x y -> x < y) = 4;; + strictlySortedLength [||] (fun x y -> x < y) = 0;; + strictlySortedLength [|1|] (fun x y -> x < y) = 1;; + strictlySortedLength [|4;3;2;1|] (fun x y -> x < y) = -4;; +
val isSortedU : 'a array -> ('a -> 'a -> int [@bs]) -> bool
+val isSorted : 'a array -> ('a -> 'a -> int) -> bool
isSorted arr cmp
+isSorted [|1;1;2;3;4|] (fun x y -> compare x y)) = true +
val stableSortInPlaceByU : 'a array -> ('a -> 'a -> int [@bs]) -> unit
+val stableSortInPlaceBy : 'a array -> ('a -> 'a -> int) -> unit
stableSortBy xs cmp
+
+
+ Sort xs in place using comparator cmp
, the stable means if the elements
+ are equal, their order will be preserved
+
+
val stableSortByU : 'a array -> ('a -> 'a -> int [@bs]) -> 'a array
+val stableSortBy : 'a array -> ('a -> 'a -> int) -> 'a array
stableSort xs cmp
+
+ The same as Belt_SortArray.stableSortInPlaceBy
except that xs
is not modified
+
val binarySearchByU : 'a array -> 'a -> ('a -> 'a -> int [@bs]) -> int
+val binarySearchBy : 'a array -> 'a -> ('a -> 'a -> int) -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
+binarySearchBy [|1;2;3;4;33;35;36|] 33 = 4;; + lnot (binarySearchBy [|1;3;5;7|] 4) = 2;; +
module Belt:sig
..end
+ + This stdlib is still in beta status, but we encourage you to try it out and + provide feedback. +
+ + Motivation +
+ + The motivation of creating such library is to provide BuckleScript users a + better end-to-end user experience, since the original OCaml stdlib was not + writte with JS platform in mind, below are a list of areas this lib aims to + improve:
+ + Name Convention +
+ + For higher order functions, it will be suffixed U if it takes uncurried + callback. +
+ +
val forEach : 'a t -> ('a -> unit) -> unit
+ val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+
++ + In general, uncurried version will be faster, but it may be less familiar to + people who have a background in functional programming. +
+ + A special encoding for collection safety +
+
+ When we create a collection library for a custom data type, take Set for
+ example, suppose its element type is a pair of ints,
+ it needs a custom compare function. However, the Set could not
+ just be typed as Set.t (int * int)
,
+ its customized compare function needs to be
+ manifested in the signature, otherwise, if the user create another
+ customized compare function, and the two collection would mix which
+ would result in runtime error.
+
+ + The original OCaml stdlib solved the problem using functor which is a big + closure in runtime; it makes dead code elimination much harder. + We introduced a phantom type to solve the problem +
+ +
type t = int * int
+ module I0 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a0 b0 with
+ | 0 -> compare a1 b1
+ | c -> c
+ ))
+ let s0 = Belt.Set.make ~id:(module I0)
+ module I1 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a1 b1 with
+ | 0 -> compare a0 b0
+ | c -> c
+ ))
+ let s1 = Belt.Set.make ~id:(module I1)
+
+
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : ((int * int), I0.identity) t
+ val s1 : ((int * int), I1.identity) t
+
+
+
+ I0.identity
and I1.identity
are not the same using our encoding scheme.
+
+ + Collection Hierachy +
+ + In general, we provide a generic collection module, but also create specialized + modules for commonly used data type, take Belt.Set for example +
+ +
Belt.Set
+ Belt.Set.Int
+ Belt.Set.String
+
++ + The specialized module Belt.Set.Int, Belt.Set.String is in general more + efficient. +
+
+ Currently, both Belt_Set and Belt.Set are accessible to users for some
+ technical rasons,
+ we strongly recommend users stick to qualified import, Belt.Sort, we may hide
+ the internal, i.e, Belt_Set in the future
+
+
module Id: Belt_Id
Belt.Id
++ + Provide utiliites to create identified comparators or hashes for + data structures used below. +
+
+ It create a unique identifer per module of
+ functions so that different data structures with slightly different
+ comparison functions won't mix
+
+
module Array: Belt_Array
Belt.Array
+
+
+ mutable array: Utililites functions
+
+
module SortArray: Belt_SortArray
Belt.SortArray
++ + The toplevel provides some generic sort related utililties. +
+
+ It also has two specialized inner modules
+ Belt.SortArray.Int
and Belt.SortArray.String
+
+
module MutableQueue: Belt_MutableQueue
Belt.MutableQueue
+
+
+ An FIFO(first in first out) queue data structure
+
+
module MutableStack: Belt_MutableStack
Belt.MutableStack
+
+
+ An FILO(first in last out) stack data structure
+
+
module List: Belt_List
Belt.List
+
+
+ Utilities for List data type
+
+
module Range: Belt_Range
Belt.Range
+
+
+ Utilities for a closed range (from, start)
+
+
module Set: Belt_Set
Belt.Set
++ + The toplevel provides generic immutable set operations. +
+
+ It also has three specialized inner modules
+ Belt.Set.Int
and Belt.Set.String
+
+
+ Belt.Set.Dict
: This module separate date from function
+ which is more verbbose but slightly more efficient
+
+
module Map: Belt_Map
Belt.Map
,
++ + The toplevel provides generic immutable map operations. +
+
+ It also has three specialized inner modules
+ Belt.Map.Int
and Belt.Map.String
+
+
+ Belt.Map.Dict
: This module separate date from function
+ which is more verbbose but slightly more efficient
+
+
module MutableSet: Belt_MutableSet
Belt.MutableSet
++ + The toplevel provides generic mutable set operations. +
+
+ It also has two specialized inner modules
+ Belt.MutableSet.Int
and Belt.MutableSet.String
+
+
module MutableMap: Belt_MutableMap
Belt.MutableMap
++ + The toplevel provides generic mutable map operations. +
+
+ It also has two specialized inner modules
+ Belt.MutableMap.Int
and Belt.MutableMap.String
+
+
module HashSet: Belt_HashSet
Belt.HashSet
++ + The toplevel provides generic mutable hash set operations. +
+
+ It also has two specialized inner modules
+ Belt.HashSet.Int
and Belt.HashSet.String
+
+
module HashMap: Belt_HashMap
Belt.HashMap
++ + The toplevel provides generic mutable hash map operations. +
+
+ It also has two specialized inner modules
+ Belt.HashMap.Int
and Belt.HashMap.String
+
+
module Belt_Array:sig
..end
Belt.Array
+ Utililites for Array functionsval length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module Int: Belt_HashMapInt
int
, more efficient
+ than the gerneic typetype+key =
int
type 'b
t
+val make : hintSize:int -> 'b t
+val clear : 'b t -> unit
+val isEmpty : 'a t -> bool
+val set : 'a t -> key -> 'a -> unit
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : 'a t -> 'a t
+val get : 'a t -> key -> 'a option
+val has : 'b t -> key -> bool
+val remove : 'a t -> key -> unit
+val forEachU : 'b t -> (key -> 'b -> unit [@bs]) -> unit
+val forEach : 'b t -> (key -> 'b -> unit) -> unit
+val reduceU : 'b t ->
'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
+val reduce : 'b t -> 'c -> ('c -> key -> 'b -> 'c) -> 'c
+val keepMapInPlaceU : 'a t ->
(key -> 'a -> 'a option [@bs]) -> unit
+val keepMapInPlace : 'a t -> (key -> 'a -> 'a option) -> unit
+val size : 'a t -> int
+val toArray : 'a t -> (key * 'a) array
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val ofArray : (key * 'a) array -> 'a t
+val mergeMany : 'a t -> (key * 'a) array -> unit
+val getBucketHistogram : 'a t -> int array
+val logStats : 'a t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt_HashMap.String.html b/docs/api/Belt_HashMap.String.html
new file mode 100644
index 0000000000..a85726f409
--- /dev/null
+++ b/docs/api/Belt_HashMap.String.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+ module String: Belt_HashMapString
string
, more efficient
+ than the gerneic typetype+key =
string
type 'b
t
+val make : hintSize:int -> 'b t
+val clear : 'b t -> unit
+val isEmpty : 'a t -> bool
+val set : 'a t -> key -> 'a -> unit
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : 'a t -> 'a t
+val get : 'a t -> key -> 'a option
+val has : 'b t -> key -> bool
+val remove : 'a t -> key -> unit
+val forEachU : 'b t ->
(key -> 'b -> unit [@bs]) -> unit
+val forEach : 'b t -> (key -> 'b -> unit) -> unit
+val reduceU : 'b t ->
'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
+val reduce : 'b t ->
'c -> ('c -> key -> 'b -> 'c) -> 'c
+val keepMapInPlaceU : 'a t ->
(key -> 'a -> 'a option [@bs]) -> unit
+val keepMapInPlace : 'a t ->
(key -> 'a -> 'a option) -> unit
+val size : 'a t -> int
+val toArray : 'a t -> (key * 'a) array
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val ofArray : (key * 'a) array -> 'a t
+val mergeMany : 'a t -> (key * 'a) array -> unit
+val getBucketHistogram : 'a t -> int array
+val logStats : 'a t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt_HashMap.html b/docs/api/Belt_HashMap.html
new file mode 100644
index 0000000000..45dd727eaa
--- /dev/null
+++ b/docs/api/Belt_HashMap.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashMap:sig
..end
hash
behavior.
++ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two HashMaps of ints initialized with different + hash functions will have different type. +
+ + For example: +
type t = int
+ module I0 =
+ (val Belt.Id.hashableU
+ ~hash:(fun[@bs] (a : t) -> a & 0xff_ff)
+ ~eq:(fun[@bs] a b -> a = b)
+ )
+ let s0 : (_, string,_) t = make ~hintSize:40 ~id:(module I0)
+ module I1 =
+ (val Belt.Id.hashableU
+ ~hash:(fun[@bs] (a : t) -> a & 0xff)
+ ~eq:(fun[@bs] a b -> a = b)
+ )
+ let s1 : (_, string,_) t = make ~hintSize:40 ~id:(module I1)
+
++ + The invariant must be held: for two elements who are equal, + their hashed value should be the same +
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : (int, I0.identity) t
+ val s1 : (int, I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let () =
+ add s1 0 "3";
+ add s1 1 "3"
+
+
+
+ Since this is an mutable data strucure, s1
will contain two pairs.
+
+
module Int: Belt_HashMapInt
int
, more efficient
+ than the gerneic typemodule String: Belt_HashMapString
string
, more efficient
+ than the gerneic typetype ('key, 'value, 'id)
t
+'key
to type 'value
.type+('a, 'id)
id =('a, 'id) Belt_Id.hashable
val make : hintSize:int ->
id:('key, 'id) id -> ('key, 'value, 'id) t
+val clear : ('key, 'value, 'id) t -> unit
val isEmpty : ('a, 'b, 'c) t -> bool
+val set : ('key, 'value, 'id) t -> 'key -> 'value -> unit
set tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : ('key, 'value, 'id) t -> ('key, 'value, 'id) t
+val get : ('key, 'value, 'id) t -> 'key -> 'value option
+val has : ('key, 'value, 'id) t -> 'key -> bool
has tbl x
checks if x
is bound in tbl
.val remove : ('key, 'value, 'id) t -> 'key -> unit
+val forEachU : ('key, 'value, 'id) t -> ('key -> 'value -> unit [@bs]) -> unit
+val forEach : ('key, 'value, 'id) t -> ('key -> 'value -> unit) -> unit
forEach tbl f
applies f
to all bindings in table tbl
.
+ f
receives the key as first argument, and the associated value
+ as second argument. Each binding is presented exactly once to f
.val reduceU : ('key, 'value, 'id) t ->
'c -> ('c -> 'key -> 'value -> 'c [@bs]) -> 'c
+val reduce : ('key, 'value, 'id) t ->
'c -> ('c -> 'key -> 'value -> 'c) -> 'c
reduce tbl init f
computes
+ (f kN dN ... (f k1 d1 init)...)
,
+ where k1 ... kN
are the keys of all bindings in tbl
,
+ and d1 ... dN
are the associated values.
+ Each binding is presented exactly once to f
.
+
+
+ The order in which the bindings are passed to f
is unspecified.
+ However, if the table contains several bindings for the same key,
+ they are passed to f
in reverse order of introduction, that is,
+ the most recent binding is passed first.
+
+
val keepMapInPlaceU : ('key, 'value, 'id) t ->
('key -> 'value -> 'value option [@bs]) -> unit
+val keepMapInPlace : ('key, 'value, 'id) t ->
('key -> 'value -> 'value option) -> unit
+val size : ('a, 'b, 'c) t -> int
size tbl
returns the number of bindings in tbl
.
+ It takes constant time.val toArray : ('key, 'value, 'id) t -> ('key * 'value) array
+val keysToArray : ('key, 'a, 'b) t -> 'key array
+val valuesToArray : ('a, 'value, 'b) t -> 'value array
+val ofArray : ('key * 'value) array ->
id:('key, 'id) id -> ('key, 'value, 'id) t
+val mergeMany : ('key, 'value, 'id) t -> ('key * 'value) array -> unit
+val getBucketHistogram : ('a, 'b, 'c) t -> int array
+val logStats : ('a, 'b, 'c) t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt_HashMapInt.html b/docs/api/Belt_HashMapInt.html
new file mode 100644
index 0000000000..55242ce5f0
--- /dev/null
+++ b/docs/api/Belt_HashMapInt.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashMapInt:sig
..end
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
type+key =
int
type 'b
t
+val make : hintSize:int -> 'b t
+val clear : 'b t -> unit
+val isEmpty : 'a t -> bool
+val set : 'a t -> key -> 'a -> unit
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : 'a t -> 'a t
+val get : 'a t -> key -> 'a option
+val has : 'b t -> key -> bool
+val remove : 'a t -> key -> unit
+val forEachU : 'b t -> (key -> 'b -> unit [@bs]) -> unit
+val forEach : 'b t -> (key -> 'b -> unit) -> unit
+val reduceU : 'b t ->
'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
+val reduce : 'b t -> 'c -> ('c -> key -> 'b -> 'c) -> 'c
+val keepMapInPlaceU : 'a t ->
(key -> 'a -> 'a option [@bs]) -> unit
+val keepMapInPlace : 'a t -> (key -> 'a -> 'a option) -> unit
+val size : 'a t -> int
+val toArray : 'a t -> (key * 'a) array
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val ofArray : (key * 'a) array -> 'a t
+val mergeMany : 'a t -> (key * 'a) array -> unit
+val getBucketHistogram : 'a t -> int array
+val logStats : 'a t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt_HashMapString.html b/docs/api/Belt_HashMapString.html
new file mode 100644
index 0000000000..2b4628950c
--- /dev/null
+++ b/docs/api/Belt_HashMapString.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashMapString:sig
..end
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
type+key =
string
type 'b
t
+val make : hintSize:int -> 'b t
+val clear : 'b t -> unit
+val isEmpty : 'a t -> bool
+val set : 'a t -> key -> 'a -> unit
setDone tbl k v
if k
does not exist,
+ add the binding k,v
, otherwise, update the old value with the new
+ v
val copy : 'a t -> 'a t
+val get : 'a t -> key -> 'a option
+val has : 'b t -> key -> bool
+val remove : 'a t -> key -> unit
+val forEachU : 'b t ->
(key -> 'b -> unit [@bs]) -> unit
+val forEach : 'b t -> (key -> 'b -> unit) -> unit
+val reduceU : 'b t ->
'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
+val reduce : 'b t ->
'c -> ('c -> key -> 'b -> 'c) -> 'c
+val keepMapInPlaceU : 'a t ->
(key -> 'a -> 'a option [@bs]) -> unit
+val keepMapInPlace : 'a t ->
(key -> 'a -> 'a option) -> unit
+val size : 'a t -> int
+val toArray : 'a t -> (key * 'a) array
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val ofArray : (key * 'a) array -> 'a t
+val mergeMany : 'a t -> (key * 'a) array -> unit
+val getBucketHistogram : 'a t -> int array
+val logStats : 'a t -> unit
\ No newline at end of file
diff --git a/docs/api/Belt_HashSet.Int.html b/docs/api/Belt_HashSet.Int.html
new file mode 100644
index 0000000000..259bc89ac7
--- /dev/null
+++ b/docs/api/Belt_HashSet.Int.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+ module Int: Belt_HashSetInt
int
, more efficient
+ than the gerneic typetype+key =
int
type
t
+val make : hintSize:int -> t
+val clear : t -> unit
+val isEmpty : t -> bool
+val add : t -> key -> unit
+val copy : t -> t
+val has : t -> key -> bool
+val remove : t -> key -> unit
+val forEachU : t -> (key -> unit [@bs]) -> unit
+val forEach : t -> (key -> unit) -> unit
+val reduceU : t -> 'c -> ('c -> key -> 'c [@bs]) -> 'c
+val reduce : t -> 'c -> ('c -> key -> 'c) -> 'c
+val size : t -> int
+val logStats : t -> unit
+val toArray : t -> key array
+val ofArray : key array -> t
+val mergeMany : t -> key array -> unit
+val getBucketHistogram : t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_HashSet.String.html b/docs/api/Belt_HashSet.String.html
new file mode 100644
index 0000000000..749e00bf4f
--- /dev/null
+++ b/docs/api/Belt_HashSet.String.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+ module String: Belt_HashSetString
string
, more efficient
+ than the gerneic typetype+key =
string
type
t
+val make : hintSize:int -> t
+val clear : t -> unit
+val isEmpty : t -> bool
+val add : t -> key -> unit
+val copy : t -> t
+val has : t -> key -> bool
+val remove : t -> key -> unit
+val forEachU : t -> (key -> unit [@bs]) -> unit
+val forEach : t -> (key -> unit) -> unit
+val reduceU : t ->
'c -> ('c -> key -> 'c [@bs]) -> 'c
+val reduce : t -> 'c -> ('c -> key -> 'c) -> 'c
+val size : t -> int
+val logStats : t -> unit
+val toArray : t -> key array
+val ofArray : key array -> t
+val mergeMany : t -> key array -> unit
+val getBucketHistogram : t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_HashSet.html b/docs/api/Belt_HashSet.html
new file mode 100644
index 0000000000..ac71ac461e
--- /dev/null
+++ b/docs/api/Belt_HashSet.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashSet:sig
..end
hash
behavior.
++ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two HashSets of ints initialized with different + hash functions will have different type. +
+ + For example: +
type t = int
+ module I0 =
+ (val Belt.Id.hashableU
+ ~hash:(fun[@bs] (a : t) -> a & 0xff_ff)
+ ~eq:(fun[@bs] a b -> a = b)
+ )
+ let s0 = make ~id:(module I0) ~hintSize:40
+ module I1 =
+ (val Belt.Id.hashableU
+ ~hash:(fun[@bs] (a : t) -> a & 0xff)
+ ~eq:(fun[@bs] a b -> a = b)
+ )
+ let s1 = make ~id:(module I1) ~hintSize:40
+
++ + The invariant must be held: for two elements who are equal, + their hashed value should be the same +
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : (int, I0.identity) t
+ val s1 : (int, I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let () =
+ add s1 0;
+ add s1 1
+
+
+
+ Since this is an mutable data strucure, s1
will contain two pairs.
+
+
module Int: Belt_HashSetInt
int
, more efficient
+ than the gerneic typemodule String: Belt_HashSetString
string
, more efficient
+ than the gerneic typetype ('a, 'id)
t
+type+('a, 'id)
id =('a, 'id) Belt_Id.hashable
val make : hintSize:int -> id:('a, 'id) id -> ('a, 'id) t
+val clear : ('a, 'id) t -> unit
+val isEmpty : ('a, 'b) t -> bool
+val add : ('a, 'id) t -> 'a -> unit
+val copy : ('a, 'id) t -> ('a, 'id) t
+val has : ('a, 'id) t -> 'a -> bool
+val remove : ('a, 'id) t -> 'a -> unit
+val forEachU : ('a, 'id) t -> ('a -> unit [@bs]) -> unit
+val forEach : ('a, 'id) t -> ('a -> unit) -> unit
val reduceU : ('a, 'id) t -> 'c -> ('c -> 'a -> 'c [@bs]) -> 'c
+val reduce : ('a, 'id) t -> 'c -> ('c -> 'a -> 'c) -> 'c
val size : ('a, 'id) t -> int
+val logStats : ('a, 'b) t -> unit
+val toArray : ('a, 'id) t -> 'a array
+val ofArray : 'a array -> id:('a, 'id) id -> ('a, 'id) t
+val mergeMany : ('a, 'id) t -> 'a array -> unit
+val getBucketHistogram : ('a, 'b) t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_HashSetInt.html b/docs/api/Belt_HashSetInt.html
new file mode 100644
index 0000000000..cd9ee80382
--- /dev/null
+++ b/docs/api/Belt_HashSetInt.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashSetInt:sig
..end
Belt.HashSet
specialized with key type to be a primitive type.
+
+
+ It is more efficient in general, the API is the same with Belt.HashSet
except its key type is fixed,
+ and identity is not needed(using the built-in one)
+
+
+ See Belt.HashSet
+
+
type+key =
int
type
t
+val make : hintSize:int -> t
+val clear : t -> unit
+val isEmpty : t -> bool
+val add : t -> key -> unit
+val copy : t -> t
+val has : t -> key -> bool
+val remove : t -> key -> unit
+val forEachU : t -> (key -> unit [@bs]) -> unit
+val forEach : t -> (key -> unit) -> unit
+val reduceU : t -> 'c -> ('c -> key -> 'c [@bs]) -> 'c
+val reduce : t -> 'c -> ('c -> key -> 'c) -> 'c
+val size : t -> int
+val logStats : t -> unit
+val toArray : t -> key array
+val ofArray : key array -> t
+val mergeMany : t -> key array -> unit
+val getBucketHistogram : t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_HashSetString.html b/docs/api/Belt_HashSetString.html
new file mode 100644
index 0000000000..004a8f96e6
--- /dev/null
+++ b/docs/api/Belt_HashSetString.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_HashSetString:sig
..end
Belt.HashSet
specialized with key type to be a primitive type.
+
+
+ It is more efficient in general, the API is the same with Belt.HashSet
except its key type is fixed,
+ and identity is not needed(using the built-in one)
+
+
+ See Belt.HashSet
+
+
type+key =
string
type
t
+val make : hintSize:int -> t
+val clear : t -> unit
+val isEmpty : t -> bool
+val add : t -> key -> unit
+val copy : t -> t
+val has : t -> key -> bool
+val remove : t -> key -> unit
+val forEachU : t -> (key -> unit [@bs]) -> unit
+val forEach : t -> (key -> unit) -> unit
+val reduceU : t ->
'c -> ('c -> key -> 'c [@bs]) -> 'c
+val reduce : t -> 'c -> ('c -> key -> 'c) -> 'c
+val size : t -> int
+val logStats : t -> unit
+val toArray : t -> key array
+val ofArray : key array -> t
+val mergeMany : t -> key array -> unit
+val getBucketHistogram : t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_Id.Comparable.html b/docs/api/Belt_Id.Comparable.html
new file mode 100644
index 0000000000..7ba7f7f4d5
--- /dev/null
+++ b/docs/api/Belt_Id.Comparable.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+ module type Comparable =sig
..end
type
identity
+type
t
+val cmp : (t, identity) Belt_Id.cmp
\ No newline at end of file
diff --git a/docs/api/Belt_Id.Hashable.html b/docs/api/Belt_Id.Hashable.html
new file mode 100644
index 0000000000..cfd6c0137a
--- /dev/null
+++ b/docs/api/Belt_Id.Hashable.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+ module type Hashable =sig
..end
type
identity
+type
t
+val hash : (t, identity) Belt_Id.hash
+val eq : (t, identity) Belt_Id.eq
\ No newline at end of file
diff --git a/docs/api/Belt_Id.html b/docs/api/Belt_Id.html
new file mode 100644
index 0000000000..aa06a9661b
--- /dev/null
+++ b/docs/api/Belt_Id.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_Id:sig
..end
Belt.Id
++ + Provide utiliites to create identified comparators or hashes for + data structures used below. +
+
+ It create a unique identifer per module of functions so that different data structures with slightly different
+ comparison functions won't mix.
+
+
type ('a, 'id)
hash
+('a, 'id) hash
+
+
+ Its runtime represenation is a hash
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
type ('a, 'id)
eq
+('a, 'id) eq
+
+
+ Its runtime represenation is an eq
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
type ('a, 'id)
cmp
+('a,'id) cmp
+
+
+ Its runtime representation is a cmp
function, but signed with a
+ type parameter, so that different hash functions type mismatch
+
+
module type Comparable =sig
..end
type+('key, 'id)
comparable =(module Belt_Id.Comparable with type identity = 'id and type t = 'key)
('key, 'id) cmparable
is a module of functions, here it only includes cmp
.
++ + Unlike normal functions, when created, it comes with a unique identity (guaranteed + by the type system). +
+
+ It can be created using function Belt_Id.comparableU
orBelt_Id.comparable
.
+
+
+ The idea of a unique identity when created is that it makes sure two sets would type
+ mismatch if they use different comparison function
+
+
val comparableU : cmp:('a -> 'a -> int [@bs]) -> (module Belt_Id.Comparable with type t = 'a)
+val comparable : cmp:('a -> 'a -> int) -> (module Belt_Id.Comparable with type t = 'a)
+module type Hashable =sig
..end
type+('key, 'id)
hashable =(module Belt_Id.Hashable with type identity = 'id and type t = 'key)
('key, 'id) hashable
is a module of functions, here it only includes hash
, eq
.
++ + Unlike normal functions, when created, it comes with a unique identity (guaranteed + by the type system). +
+
+ It can be created using function Belt_Id.hashableU
or Belt_Id.hashable
.
+
+
+ The idea of a unique identity when created is that it makes sure two hash sets would type
+ mismatch if they use different comparison function
+
+
val hashableU : hash:('a -> int [@bs]) ->
eq:('a -> 'a -> bool [@bs]) -> (module Belt_Id.Hashable with type t = 'a)
+val hashable : hash:('a -> int) ->
eq:('a -> 'a -> bool) -> (module Belt_Id.Hashable with type t = 'a)
\ No newline at end of file
diff --git a/docs/api/Belt_List.html b/docs/api/Belt_List.html
new file mode 100644
index 0000000000..f24d102d4a
--- /dev/null
+++ b/docs/api/Belt_List.html
@@ -0,0 +1,852 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_List:sig
..end
Belt.List
++ + Utilities for List data type. +
+
+ This module is compatible with original ocaml stdlib.
+ In general, all functions comes with the original stdlib also
+ applies to this collection, however, this module provides faster
+ and stack safer utilities
+
+
type+'a
t ='a list
'a t
is compatible with built-in list
typeval length : 'a t -> int
length l
l
val size : 'a t -> int
Belt_List.length
val head : 'a t -> 'a option
+head [] = None ;; + head [1;2;3] = Some 1 ;; +
val headExn : 'a t -> 'a
val tail : 'a t -> 'a t option
+tail [] = None ;; + tail [1;2] = Some [2];; +
val tailExn : 'a t -> 'a t
val add : 'a t -> 'a -> 'a t
+add [1] 3 = [3;1];; +
val get : 'a t -> int -> 'a option
get xs n
+
+
+ return the nth element in xs
,
+ or None
if n
is larger than the length
+
+
+get [0;3;32] 2 = Some 2 ;; + get [0;3;32] 3 = None;; +
val getExn : 'a t -> int -> 'a
val make : int -> 'a -> 'a t
make n v
++
n
with each element filled with v
n
is negative+make 3 1 = [1;1;1] +
val makeByU : int -> (int -> 'a [@bs]) -> 'a t
+val makeBy : int -> (int -> 'a) -> 'a t
makeBy n f
++
n
with element i
initialized with f i
n
is negative+makeBy 5 (fun i -> i) = [0;1;2;3;4] +
val drop : 'a t -> int -> 'a t option
drop xs n
+
+
+ return the list obtained by dropping the first n
elements,
+ or None
if xs
has fewer than n
elements
+
+
+drop [1;2;3] 2 = Some [3];; + drop [1;2;3] 3 = Some [];; + drop [1;2;3] 4 = None;; +
val take : 'a t -> int -> 'a t option
take xs n
+
+
+ return a list with the first n
elements from xs
,
+ or None
if xs
has fewer than n
elements
+
+
+take [1;2;3] 1 = Some [1];; + take [1;2;3] 2 = Some [1;2];; + take [1;2;3] 4 = None;; +
val splitAt : 'a t -> int -> ('a list * 'a list) option
splitAt xs n
+ split the list xs
at position n
+ return None when the length of xs
is less than n
+splitAt [0;1;2;3;4] 2 = Some ([0;1], [2;3;4]) +
val concat : 'a t -> 'a t -> 'a t
concat xs ys
ys
after xs
+concat [1;2;3] [4;5] = [1;2;3;4;5] +
val concatMany : 'a t array -> 'a t
concatMany a
+ return the list obtained by concatenating in order all the lists in array a
+concatMany [| [1;2;3] ; []; [3]; [4] |] = [1;2;3;3;4] +
val reverseConcat : 'a t -> 'a t -> 'a t
reverseConcat xs ys
is equivalent to concat (reverse xs) ys
+reverseConcat [1;2] [3;4] = [2;1;3;4] +
val flatten : 'a t t -> 'a t
flatten ls
+ return the list obtained by concatenating in order all the lists in list ls
+flatten [ [1;2;3] ; []; [3]; [4] ] = [1;2;3;3;4] +
val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map xs f
+
+
+ return the list obtained by applying f
to the element of xs
+
+
+map [1;2] (fun x-> x + 1) = [3;4] +
val zip : 'a t -> 'b t -> ('a * 'b) t
zip xs ys
+zip [1;2] [1;2;3] = [(1,1); (2,2)] +
val zipByU : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> 'c t
+val zipBy : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
zipBy xs ys f
+
+
+ See Belt_List.zip
+
+
+ Equivalent to zip xs ys |> List.map (fun (x,y) -> f x y)
+
+
val mapWithIndexU : 'a t -> (int -> 'a -> 'b [@bs]) -> 'b t
+val mapWithIndex : 'a t -> (int -> 'a -> 'b) -> 'b t
+mapWithIndex [1;2;3] (fun i x -> i + x) = + [0 + 1; 1 + 2; 2 + 3 ] +
val ofArray : 'a array -> 'a t
+ofArray [|1;2;3|] = [1;2;3] +
val toArray : 'a t -> 'a array
+toArray [1;2;3] = [|1;2;3|] +
val reverse : 'a t -> 'a t
+reverse [1;2;3] = [3;2;1] +
val mapReverseU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val mapReverse : 'a t -> ('a -> 'b) -> 'b t
mapReverse a f
+
+
+ Equivalent to reverse (map a f)
+
+
val forEachU : 'a t -> ('a -> 'b [@bs]) -> unit
+val forEach : 'a t -> ('a -> 'b) -> unit
forEach xs f
+let us = ref 0;; + forEach [1;2;3;4] (fun x -> us := !us + x);; + !us = 1 + 2 + 3 + 4;; +
val forEachWithIndexU : 'a t -> (int -> 'a -> 'b [@bs]) -> unit
+val forEachWithIndex : 'a t -> (int -> 'a -> 'b) -> unit
forEachWithIndex xs f
+let us = ref 0 ;; + forEachWithIndex [1;1;1;1] (fun i x -> us := !us + x + i);; + !us = 0 + 1 + 1 + 1 + 2 + 1 + 3 + 1;; +
val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduce xs f
+reduce [1;2;3;4] 0 (+) = 10;; + reduce [1;2;3;4] 10 (-) = 0;; + reduce [1;2;3;4] [] add = [4;3;2;1]; +
val reduceReverseU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduceReverse : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduceReverse xs f
+reduceReverse [1;2;3;4] 0 (+) = 10;; + reduceReverse [1;2;3;4] 10 (-) = 0;; + reduceReverse [1;2;3;4] [] add = [1;2;3;4];; +
val mapReverse2U : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> 'c t
+val mapReverse2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
mapReverse2 xs ys f
+
+
+ equivalent to reverse (zipBy xs ys f)
+
+
+mapReverse2 [1;2;3] [1;2] (+) = [4;2] +
val forEach2U : 'a t -> 'b t -> ('a -> 'b -> 'c [@bs]) -> unit
+val forEach2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> unit
forEach2 xs ys f
stop with the shorter listval reduce2U : 'b t -> 'c t -> 'a -> ('a -> 'b -> 'c -> 'a [@bs]) -> 'a
+val reduce2 : 'b t -> 'c t -> 'a -> ('a -> 'b -> 'c -> 'a) -> 'a
reduce2 xs ys init f
+
+
+ stops with the shorter list.
+
+
val reduceReverse2U : 'a t -> 'b t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a t -> 'b t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
reduceReverse2 xs ys init f
+
+
+ Stops with the shorter list
+
+
+reduceReverse2 [1;2;3] [1;2] 0 (fun acc x y -> acc + x + y) = 6 +
val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+val every : 'a t -> ('a -> bool) -> bool
every ls p
+every [] (fun x -> x mod 2 = 0) = true;; + every [2;4] (fun x -> x mod 2 = 0 ) true;; +
val someU : 'a t -> ('a -> bool [@bs]) -> bool
+val some : 'a t -> ('a -> bool) -> bool
some ls p
+some [] (fun x -> x mod 2 = 0) = false ;; + some [1;2] (fun x -> x mod 2 = 0) = true;;) +
val every2U : 'a t -> 'b t -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
every2 xs ys p
stop with the shorter list+(every2 [] [1] (fun x y -> x > y)) = true;; + (every2 [2;3] [1] (fun x y -> x > y)) = true;; +
val some2U : 'a t -> 'b t -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
some2 xs ys p
+(some2 [] [1] (fun x y -> x > y)) = false;; + (some2 [2;3] [1;4] (fun x y -> x > y)) = true;; +
val cmpByLength : 'a t -> 'a t -> int
cmpByLength l1 l2
+
+
+ Compare two lists solely by length
+
+
val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
cmp xs ys cmpElem
+ compare lists xs
and ys
using cmpElem
to compare elements++cmp [1;2;3] [1;2;3] compare = 0;; + cmp [1;2;3] [0;1;2;3] compare = 1 ;;] +
+ + Attention: The total ordering of List is different from Array, + for Array, we compare the length first and one by one later, while + for lists, we just compare one by one
val eqU : 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
eq xs ys eqElem
+ check equality of xs
and ys
using eqElem
for equality on elements+eq [1;2;3] [1;2] (=) = false ;; + eq [1;2] [1;2] (=) = true +
val hasU : 'a t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+val has : 'a t -> 'b -> ('a -> 'b -> bool) -> bool
+has [1;2;3] 2 (=) = true;; + has [1;2;3] 4 (=) = false;; +
val getByU : 'a t -> ('a -> bool [@bs]) -> 'a option
+val getBy : 'a t -> ('a -> bool) -> 'a option
+getBy [1;4;3;2] (fun x -> x mod 2 = 0) = Some 4 +
val keepU : 'a t -> ('a -> bool [@bs]) -> 'a t
+val keep : 'a t -> ('a -> bool) -> 'a t
keep xs p
+keep [1;2;3;4] (fun x -> x mod 2 = 0) = + [2;4] +
val keepMapU : 'a t -> ('a -> 'b option [@bs]) -> 'b t
+val keepMap : 'a t -> ('a -> 'b option) -> 'b t
keepMap xs f
+keepMap [1;2;3;4] (fun x -> if x mod 2 = 0 then Some (-x ) else None) + = + [-2;-4] +
val partitionU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+val partition : 'a t -> ('a -> bool) -> 'a t * 'a t
partition xs p
+partition [1;2;3;4] (fun x -> x mod 2 = 0) = + ([2;4], [1;3]) +
val unzip : ('a * 'b) t -> 'a t * 'b t
unzip xs
+unzip [(1,2) ; (3,4)] = ([1;3], [2;4]) +
val getAssocU : ('a * 'c) t -> 'b -> ('a -> 'b -> bool [@bs]) -> 'c option
+val getAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> 'c option
getAssoc xs k eq
+
+
+ return the second element of a pair in xs
where the first element equals x
,
+ or None
if not found
+
+
+getAssoc [ 1, "a"; 2, "b"; 3, "c"] 2 (=) = Some "b" +
val hasAssocU : ('a * 'c) t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+val hasAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> bool
hasAssoc xs x eq
+ return true if there is a pair in xs
where the first element equals x
+hasAssoc [1, "a"; 2, "b"; 3,"c"] 1 (=) = true +
val removeAssocU : ('a * 'c) t ->
'b -> ('a -> 'b -> bool [@bs]) -> ('a * 'c) t
+val removeAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> ('a * 'c) t
removeAssoc xs x eq
+ Try to remove the first pair, if not found, leave it untouched.+removeAssoc [1,"a"; 2, "b"; 3, "c" ] 1 (=) = + [2, "b"; 3, "c"] +
val setAssocU : ('a * 'c) t ->
'a -> 'c -> ('a -> 'a -> bool [@bs]) -> ('a * 'c) t
+val setAssoc : ('a * 'c) t ->
'a -> 'c -> ('a -> 'a -> bool) -> ('a * 'c) t
setAssoc xs k v eq
+ if k
exists in xs
, replace it with the new v
, otherwise, add
+ it to the head+setAssoc [1,"a"; 2, "b"; 3, "c"] 2 "x" (=) = + [1,"a"; 2, "x"; 3,"c"] ;; + + setAssoc [1,"a"; 3, "c"] 2 "2" (=) = + [2,"2"; 1,"a"; 3, "c"] +
module Dict: Belt_MapDict
+
+ Advanced usage only
+
+
type ('key, 'value, 'id)
t
+type+('key, 'id)
cmp =('key, 'id) Belt_Id.cmp
val empty : ('k, 'v, 'id) t
+val isEmpty : ('k, 'v, 'id) t -> bool
+val has : ('k, 'a, 'id) t -> 'k -> cmp:('k, 'id) cmp -> bool
+val cmpU : ('k, 'v, 'id) t ->
('k, 'v, 'id) t ->
kcmp:('k, 'id) cmp -> vcmp:('v -> 'v -> int [@bs]) -> int
+val cmp : ('k, 'v, 'id) t ->
('k, 'v, 'id) t ->
kcmp:('k, 'id) cmp -> vcmp:('v -> 'v -> int) -> int
+val eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t ->
kcmp:('k, 'id) cmp -> veq:('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t ->
kcmp:('k, 'id) cmp -> veq:('a -> 'a -> bool) -> bool
eq m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
. Order unspecifiedval someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
. Order unspecifiedval size : ('k, 'a, 'id) t -> int
+val toList : ('k, 'a, 'id) t -> ('k * 'a) list
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
+val ofArray : ('k * 'a) array ->
cmp:('k, 'id) cmp -> ('k, 'a, 'id) t
+val keysToArray : ('k, 'a, 'id) t -> 'k array
+val valuesToArray : ('k, 'a, 'id) t -> 'a array
+val minKey : ('k, 'a, 'b) t -> 'k option
+val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val maxKey : ('k, 'a, 'b) t -> 'k option
+val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
+val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
+val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val get : ('k, 'a, 'id) t ->
'k -> cmp:('k, 'id) cmp -> 'a option
+val getUndefined : ('k, 'a, 'id) t ->
'k -> cmp:('k, 'id) cmp -> 'a Js.undefined
+val getWithDefault : ('k, 'a, 'id) t ->
'k -> 'a -> cmp:('k, 'id) cmp -> 'a
+val getExn : ('k, 'a, 'id) t -> 'k -> cmp:('k, 'id) cmp -> 'a
+val checkInvariantInternal : ('a, 'b, 'c) t -> unit
val remove : ('a, 'b, 'id) t ->
'a -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val removeMany : ('a, 'b, 'id) t ->
'a array -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val set : ('a, 'b, 'id) t ->
'a -> 'b -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val updateU : ('a, 'b, 'id) t ->
'a ->
('b option -> 'b option [@bs]) ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val update : ('a, 'b, 'id) t ->
'a ->
('b option -> 'b option) ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val mergeU : ('a, 'b, 'id) t ->
('a, 'c, 'id) t ->
('a -> 'b option -> 'c option -> 'd option [@bs]) ->
cmp:('a, 'id) cmp -> ('a, 'd, 'id) t
+val merge : ('a, 'b, 'id) t ->
('a, 'c, 'id) t ->
('a -> 'b option -> 'c option -> 'd option) ->
cmp:('a, 'id) cmp -> ('a, 'd, 'id) t
+val mergeMany : ('a, 'b, 'id) t ->
('a * 'b) array ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val keepU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) t
+val keep : ('k, 'a, 'id) t ->
('k -> 'a -> bool) -> ('k, 'a, 'id) t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
+val partition : ('k, 'a, 'id) t ->
('k -> 'a -> bool) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : ('a, 'b, 'id) t ->
'a ->
cmp:('a, 'id) cmp ->
(('a, 'b, 'id) t * ('a, 'b, 'id) t) * 'b option
+val mapU : ('k, 'a, 'id) t ->
('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t -> ('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t ->
('k -> 'a -> 'b) -> ('k, 'b, 'id) t
\ No newline at end of file
diff --git a/docs/api/Belt_Map.Int.html b/docs/api/Belt_Map.Int.html
new file mode 100644
index 0000000000..c9a4298d2b
--- /dev/null
+++ b/docs/api/Belt_Map.Int.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+
+ module Int: Belt_MapInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisontype+key =
int
type 'a
t
+key
to type 'a
.val empty : 'a t
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
+val eqU : 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
equal m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : 'a t -> (key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> 'a t
remove m x
returns a map containing the same bindings as
+ m
, except for x
which is unbound in the returned map.val removeMany : 'a t -> key array -> 'a t
+val set : 'a t -> key -> 'a -> 'a t
add m x y
returns a map containing the same bindings as
+ m
, plus a binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> 'a t
+val update : 'a t ->
key -> ('a option -> 'a option) -> 'a t
+val mergeArray : 'a t -> (key * 'a) array -> 'a t
+val mergeU : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
'c t
+val merge : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option) -> 'c t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : 'a t -> (key -> 'a -> bool [@bs]) -> 'a t
+val keep : 'a t -> (key -> 'a -> bool) -> 'a t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : 'a t ->
(key -> 'a -> bool [@bs]) -> 'a t * 'a t
+val partition : 'a t ->
(key -> 'a -> bool) -> 'a t * 'a t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : key ->
'a t -> 'a t * 'a option * 'a t
split x m
returns a triple (l, data, r)
, where
+ l
is the map with all the bindings of m
whose key
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose key
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t -> (key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_Map.String.html b/docs/api/Belt_Map.String.html
new file mode 100644
index 0000000000..3785c25d0f
--- /dev/null
+++ b/docs/api/Belt_Map.String.html
@@ -0,0 +1,318 @@
+
+
+
+
+
+
+
+
+
+
+ module String: Belt_MapString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisontype+key =
string
type 'a
t
+key
to type 'a
.val empty : 'a t
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
+val eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
equal m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : 'a t -> (key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> 'a t
remove m x
returns a map containing the same bindings as
+ m
, except for x
which is unbound in the returned map.val removeMany : 'a t -> key array -> 'a t
+val set : 'a t -> key -> 'a -> 'a t
add m x y
returns a map containing the same bindings as
+ m
, plus a binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> 'a t
+val update : 'a t ->
key -> ('a option -> 'a option) -> 'a t
+val mergeArray : 'a t -> (key * 'a) array -> 'a t
+val mergeU : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
'c t
+val merge : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option) ->
'c t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : 'a t ->
(key -> 'a -> bool [@bs]) -> 'a t
+val keep : 'a t ->
(key -> 'a -> bool) -> 'a t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : 'a t ->
(key -> 'a -> bool [@bs]) ->
'a t * 'a t
+val partition : 'a t ->
(key -> 'a -> bool) ->
'a t * 'a t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : key ->
'a t -> 'a t * 'a option * 'a t
split x m
returns a triple (l, data, r)
, where
+ l
is the map with all the bindings of m
whose key
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose key
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_Map.html b/docs/api/Belt_Map.html
new file mode 100644
index 0000000000..a968f46472
--- /dev/null
+++ b/docs/api/Belt_Map.html
@@ -0,0 +1,767 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_Map:sig
..end
+ + The implementation uses balanced binary trees, and therefore searching + and insertion take time logarithmic in the size of the map. +
+ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two Map of int keys initialized with different + compare functions will have different type. +
+ + For example: +
type t = int * int
+ module I0 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match Pervasives.compare a0 b0 with
+ | 0 -> Pervasives.compare a1 b1
+ | c -> c
+ ))
+ let s0 : (_, string, _) t = make ~id:(module I0) (* value is of type string *)
+ module I1 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a1 b1 with
+ | 0 -> compare a0 b0
+ | c -> c
+ ))
+ let s1 : (_, string, _) t = make ~id:(module I1)
+
+
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : ((int * int), string, I0.identity) t
+ val s1 : ((int * int), string, I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let s2 = add s1 (0,0) "a"
+ let s3 = add s2 (1,1) "b"
+
+
+
+ Since this is an immutable data strucure, s1
will be an empty map
+ while s2
will contain one pair, s3
will contain two.
+
+
+ The merge s0 s3 callback
will result in a type error, since their identity mismatch
+
+
module Int: Belt_MapInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule String: Belt_MapString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule Dict: Belt_MapDict
+
+ Advanced usage only
+
+
type ('key, 'value, 'identity)
t
+('key, 'identity) t
+
+
+ 'key
is the element type
+
+
+ 'identity
the identity of the collection
+
+
type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('k, 'id) id -> ('k, 'a, 'id) t
make ~id
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + let s = make ~id:(module IntCmp) +
val isEmpty : ('a, 'b, 'c) t -> bool
isEmpty s0
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + isEmpty (ofArray [|1,"1"|] ~id:(module IntCmp)) = false;; +
val has : ('k, 'a, 'id) t -> 'k -> bool
has s k
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y));; + has (ofArray [|1,"1"|] ~id:(module IntCmp)) 1 = true;; +
val cmpU : ('k, 'v, 'id) t ->
('k, 'v, 'id) t -> ('v -> 'v -> int [@bs]) -> int
+val cmp : ('k, 'v, 'id) t ->
('k, 'v, 'id) t -> ('v -> 'v -> int) -> int
cmp s0 s1 vcmp
++ + Totoal ordering of map given total ordering of value function. +
+
+ It will compare size first and each element following the order one by one.
+
+
val eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool) -> bool
eq m1 m2 veq
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. veq
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = ofArray ~id:(module IntCmp) [|4,"4";1,"1";2,"2,"3""|];; + let acc = ref [] ;; + forEach s0 (fun k v -> acc := (k,v) :: !acc);; + + !acc = [4,"4"; 3,"3"; 2,"2"; 1,"1"] +
val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'acc -> ('acc -> 'k -> 'a -> 'acc) -> 'acc
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = ofArray ~id:(module IntCmp) [|4,"4";1,"1";2,"2,"3""|];; + reduce s0 [] (fun acc k v -> (k,v) acc ) = [4,"4";3,"3";2,"2";1,"1"];; +
val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
. Order unspecifiedval someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
. Order unspecifiedval size : ('k, 'a, 'id) t -> int
size s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + size (ofArray [2,"2"; 2,"1"; 3,"3"] ~id:(module IntCmp)) = 2 ;; +
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
toArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = [1,"1";2,"2";3,"3"] +
val toList : ('k, 'a, 'id) t -> ('k * 'a) list
+
+ See Belt_Map.toArray
+
+
val ofArray : ('k * 'a) array -> id:('k, 'id) id -> ('k, 'a, 'id) t
ofArray kvs ~id
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = [1,"1";2,"2";3,"3"] +
val keysToArray : ('k, 'a, 'id) t -> 'k array
keysToArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + keysToArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = + [|1;2;3|];; +
val valuesToArray : ('k, 'a, 'id) t -> 'a array
valuesToArray s
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + valuesToArray (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) = + [|"1";"2";"3"|];; +
val minKey : ('k, 'a, 'b) t -> 'k option
minKey s
val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
Belt_Map.minKey
val maxKey : ('k, 'a, 'b) t -> 'k option
maxKey s
val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
Belt_Map.maxKey
val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
minimum s
val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
Belt_Map.minimum
val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
maximum s
val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
Belt_Map.maximum
val get : ('k, 'a, 'id) t -> 'k -> 'a option
get s k
+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + get (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) 2 = + Some "2";; + get (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp)) 2 = + None;; +
val getUndefined : ('k, 'a, 'id) t -> 'k -> 'a Js.undefined
val getWithDefault : ('k, 'a, 'id) t -> 'k -> 'a -> 'a
val getExn : ('k, 'a, 'id) t -> 'k -> 'a
val remove : ('k, 'a, 'id) t -> 'k -> ('k, 'a, 'id) t
remove m x
when x
is not in m
, m
is returned reference unchanged.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp));; + + let s1 = remove s0 1;; + let s2 = remove s1 1;; + s1 == s2 ;; + keysToArray s1 = [|2;3|];; +
val removeMany : ('k, 'a, 'id) t -> 'k array -> ('k, 'a, 'id) t
removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Map.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
+
val set : ('k, 'a, 'id) t -> 'k -> 'a -> ('k, 'a, 'id) t
set m x y
returns a map containing the same bindings as
+ m
, with a new binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.+module IntCmp = + (val IntCmp.comparableU ~cmp:(fun[@bs] (x:int) y -> Pervasives.comapre x y));; + + let s0 = (ofArray [2,"2"; 1,"1"; 3,"3"] ~id:(module IntCmp));; + + let s1 = set s0 2 "3";; + + valuesToArray s1 = ["1";"3";"3"];; +
val updateU : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option [@bs]) -> ('k, 'a, 'id) t
+val update : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option) -> ('k, 'a, 'id) t
update m x f
returns a map containing the same bindings as
+ m
, except for the binding of x
.
+ Depending on the value of
+ y
where y
is f (get x m)
, the binding of x
is
+ added, removed or updated. If y
is None
, the binding is
+ removed if it exists; otherwise, if y
is Some z
then x
+ is associated to z
in the resulting map.val mergeMany : ('k, 'a, 'id) t -> ('k * 'a) array -> ('k, 'a, 'id) t
mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
+
val mergeU : ('k, 'a, 'id) t ->
('k, 'b, 'id) t ->
('k -> 'a option -> 'b option -> 'c option [@bs]) -> ('k, 'c, 'id) t
+val merge : ('k, 'a, 'id) t ->
('k, 'b, 'id) t ->
('k -> 'a option -> 'b option -> 'c option) -> ('k, 'c, 'id) t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) t
+val keep : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> ('k, 'a, 'id) t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
+val partition : ('k, 'a, 'id) t ->
('k -> 'a -> bool) -> ('k, 'a, 'id) t * ('k, 'a, 'id) t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : ('k, 'a, 'id) t ->
'k -> (('k, 'a, 'id) t * ('k, 'a, 'id) t) * 'a option
split x m
returns a tuple (l r), data
, where
+ l
is the map with all the bindings of m
whose 'k
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose 'k
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : ('k, 'a, 'id) t -> ('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t -> ('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t -> ('k -> 'a -> 'b) -> ('k, 'b, 'id) t
mapWithKey m f
+
+
+ The same as Belt_Map.map
except that f
is supplied with one more argument: the key
+
+
val getData : ('a, 'b, 'c) t -> ('a, 'b, 'c) Belt_MapDict.t
getData s0
+
+
+ Advanced usage only
+
val getId : ('a, 'b, 'c) t -> ('a, 'c) id
getId s0
+
+
+ Advanced usage only
+
s0
val packIdData : id:('a, 'b) id ->
data:('a, 'c, 'b) Belt_MapDict.t -> ('a, 'c, 'b) t
packIdData ~id ~data
+
+
+ Advanced usage only
+
module Belt_MapDict:sig
..end
eq m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.type ('key, 'value, 'id)
t
+type+('key, 'id)
cmp =('key, 'id) Belt_Id.cmp
val empty : ('k, 'v, 'id) t
+val isEmpty : ('k, 'v, 'id) t -> bool
+val has : ('k, 'a, 'id) t -> 'k -> cmp:('k, 'id) cmp -> bool
+val cmpU : ('k, 'v, 'id) t ->
('k, 'v, 'id) t ->
kcmp:('k, 'id) cmp -> vcmp:('v -> 'v -> int [@bs]) -> int
+val cmp : ('k, 'v, 'id) t ->
('k, 'v, 'id) t ->
kcmp:('k, 'id) cmp -> vcmp:('v -> 'v -> int) -> int
+val eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t ->
kcmp:('k, 'id) cmp -> veq:('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t ->
kcmp:('k, 'id) cmp -> veq:('a -> 'a -> bool) -> bool
eq m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
. Order unspecifiedval someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
. Order unspecifiedval size : ('k, 'a, 'id) t -> int
+val toList : ('k, 'a, 'id) t -> ('k * 'a) list
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
+val ofArray : ('k * 'a) array ->
cmp:('k, 'id) cmp -> ('k, 'a, 'id) t
+val keysToArray : ('k, 'a, 'id) t -> 'k array
+val valuesToArray : ('k, 'a, 'id) t -> 'a array
+val minKey : ('k, 'a, 'b) t -> 'k option
+val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val maxKey : ('k, 'a, 'b) t -> 'k option
+val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
+val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
+val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val get : ('k, 'a, 'id) t ->
'k -> cmp:('k, 'id) cmp -> 'a option
+val getUndefined : ('k, 'a, 'id) t ->
'k -> cmp:('k, 'id) cmp -> 'a Js.undefined
+val getWithDefault : ('k, 'a, 'id) t ->
'k -> 'a -> cmp:('k, 'id) cmp -> 'a
+val getExn : ('k, 'a, 'id) t -> 'k -> cmp:('k, 'id) cmp -> 'a
+val checkInvariantInternal : ('a, 'b, 'c) t -> unit
val remove : ('a, 'b, 'id) t ->
'a -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val removeMany : ('a, 'b, 'id) t ->
'a array -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val set : ('a, 'b, 'id) t ->
'a -> 'b -> cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val updateU : ('a, 'b, 'id) t ->
'a ->
('b option -> 'b option [@bs]) ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val update : ('a, 'b, 'id) t ->
'a ->
('b option -> 'b option) ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val mergeU : ('a, 'b, 'id) t ->
('a, 'c, 'id) t ->
('a -> 'b option -> 'c option -> 'd option [@bs]) ->
cmp:('a, 'id) cmp -> ('a, 'd, 'id) t
+val merge : ('a, 'b, 'id) t ->
('a, 'c, 'id) t ->
('a -> 'b option -> 'c option -> 'd option) ->
cmp:('a, 'id) cmp -> ('a, 'd, 'id) t
+val mergeMany : ('a, 'b, 'id) t ->
('a * 'b) array ->
cmp:('a, 'id) cmp -> ('a, 'b, 'id) t
+val keepU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) t
+val keep : ('k, 'a, 'id) t ->
('k -> 'a -> bool) -> ('k, 'a, 'id) t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : ('k, 'a, 'id) t ->
('k -> 'a -> bool [@bs]) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
+val partition : ('k, 'a, 'id) t ->
('k -> 'a -> bool) ->
('k, 'a, 'id) t * ('k, 'a, 'id) t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : ('a, 'b, 'id) t ->
'a ->
cmp:('a, 'id) cmp ->
(('a, 'b, 'id) t * ('a, 'b, 'id) t) * 'b option
+val mapU : ('k, 'a, 'id) t ->
('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t -> ('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t ->
('k -> 'a -> 'b) -> ('k, 'b, 'id) t
\ No newline at end of file
diff --git a/docs/api/Belt_MapInt.html b/docs/api/Belt_MapInt.html
new file mode 100644
index 0000000000..219bee9014
--- /dev/null
+++ b/docs/api/Belt_MapInt.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MapInt:sig
..end
key
to type 'a
.type+key =
int
type 'a
t
+key
to type 'a
.val empty : 'a t
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
+val eqU : 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
equal m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : 'a t -> (key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> 'a t
remove m x
returns a map containing the same bindings as
+ m
, except for x
which is unbound in the returned map.val removeMany : 'a t -> key array -> 'a t
+val set : 'a t -> key -> 'a -> 'a t
add m x y
returns a map containing the same bindings as
+ m
, plus a binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> 'a t
+val update : 'a t ->
key -> ('a option -> 'a option) -> 'a t
+val mergeArray : 'a t -> (key * 'a) array -> 'a t
+val mergeU : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
'c t
+val merge : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option) -> 'c t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : 'a t -> (key -> 'a -> bool [@bs]) -> 'a t
+val keep : 'a t -> (key -> 'a -> bool) -> 'a t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : 'a t ->
(key -> 'a -> bool [@bs]) -> 'a t * 'a t
+val partition : 'a t ->
(key -> 'a -> bool) -> 'a t * 'a t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : key ->
'a t -> 'a t * 'a option * 'a t
split x m
returns a triple (l, data, r)
, where
+ l
is the map with all the bindings of m
whose key
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose key
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t -> (key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MapString.html b/docs/api/Belt_MapString.html
new file mode 100644
index 0000000000..f0f5fe73a0
--- /dev/null
+++ b/docs/api/Belt_MapString.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MapString:sig
..end
key
to type 'a
.type+key =
string
type 'a
t
+key
to type 'a
.val empty : 'a t
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
+val eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
equal m1 m2 cmp
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. cmp
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : 'a t -> (key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : 'a t -> (key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> 'a t
remove m x
returns a map containing the same bindings as
+ m
, except for x
which is unbound in the returned map.val removeMany : 'a t -> key array -> 'a t
+val set : 'a t -> key -> 'a -> 'a t
add m x y
returns a map containing the same bindings as
+ m
, plus a binding of x
to y
. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> 'a t
+val update : 'a t ->
key -> ('a option -> 'a option) -> 'a t
+val mergeArray : 'a t -> (key * 'a) array -> 'a t
+val mergeU : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
'c t
+val merge : 'a t ->
'b t ->
(key -> 'a option -> 'b option -> 'c option) ->
'c t
merge m1 m2 f
computes a map whose keys is a subset of keys of m1
+ and of m2
. The presence of each such binding, and the corresponding
+ value, is determined with the function f
.val keepU : 'a t ->
(key -> 'a -> bool [@bs]) -> 'a t
+val keep : 'a t ->
(key -> 'a -> bool) -> 'a t
keep m p
returns the map with all the bindings in m
+ that satisfy predicate p
.val partitionU : 'a t ->
(key -> 'a -> bool [@bs]) ->
'a t * 'a t
+val partition : 'a t ->
(key -> 'a -> bool) ->
'a t * 'a t
partition m p
returns a pair of maps (m1, m2)
, where
+ m1
contains all the bindings of s
that satisfy the
+ predicate p
, and m2
is the map with all the bindings of
+ s
that do not satisfy p
.val split : key ->
'a t -> 'a t * 'a option * 'a t
split x m
returns a triple (l, data, r)
, where
+ l
is the map with all the bindings of m
whose key
+ is strictly less than x
;
+ r
is the map with all the bindings of m
whose key
+ is strictly greater than x
;
+ data
is None
if m
contains no binding for x
,
+ or Some v
if m
binds v
to x
.val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableMap.Int.html b/docs/api/Belt_MutableMap.Int.html
new file mode 100644
index 0000000000..ce95a6d95a
--- /dev/null
+++ b/docs/api/Belt_MutableMap.Int.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+
+
+
+ module Int: Belt_MutableMapInt
type+key =
int
type 'a
t
+val make : unit -> 'a t
+val clear : 'a t -> unit
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t ->
'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t ->
'a t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t ->
'a t -> ('a -> 'a -> bool) -> bool
eq m1 m2 cmp
val forEachU : 'a t ->
(key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument.
+ The application order of f
is in increasing order.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t ->
'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val someU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> unit
remove m x
do the in-place modificationval removeMany : 'a t -> key array -> unit
+val set : 'a t -> key -> 'a -> unit
add m x y
do the in-place modification, return
+ m
for chaining. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> unit
+val update : 'a t ->
key -> ('a option -> 'a option) -> unit
+val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableMap.String.html b/docs/api/Belt_MutableMap.String.html
new file mode 100644
index 0000000000..0b01bbbceb
--- /dev/null
+++ b/docs/api/Belt_MutableMap.String.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+
+
+
+ module String: Belt_MutableMapString
type+key =
string
type 'a
t
+val make : unit -> 'a t
+val clear : 'a t -> unit
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t ->
'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t ->
'a t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t ->
'a t -> ('a -> 'a -> bool) -> bool
eq m1 m2 cmp
val forEachU : 'a t ->
(key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t ->
(key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument.
+ The application order of f
is in increasing order.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t ->
'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val every : 'a t ->
(key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val someU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val some : 'a t ->
(key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> unit
remove m x
do the in-place modificationval removeMany : 'a t -> key array -> unit
+val set : 'a t -> key -> 'a -> unit
add m x y
do the in-place modification, return
+ m
for chaining. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> unit
+val update : 'a t ->
key -> ('a option -> 'a option) -> unit
+val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableMap.html b/docs/api/Belt_MutableMap.html
new file mode 100644
index 0000000000..6e9a97f063
--- /dev/null
+++ b/docs/api/Belt_MutableMap.html
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MutableMap:sig
..end
+ + The implementation uses balanced binary trees, and therefore searching + and insertion take time logarithmic in the size of the map. +
+ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two Sets of ints initialized with different + compare functions will have different type. +
+ + For example: +
type t = int * int
+ module I0 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match Pervasives.compare a0 b0 with
+ | 0 -> Pervasives.compare a1 b1
+ | c -> c
+ ))
+ let s0 : (_, string,_) t = make ~id:(module I0)
+ module I1 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a1 b1 with
+ | 0 -> compare a0 b0
+ | c -> c
+ ))
+ let s1 : (_, string, _) t = make ~id:(module I1)
+
+
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : ((int * int), string, I0.identity) t
+ val s1 : ((int * int), string, I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let () =
+ add s1 (0,0) "a";
+ add s1 (1,1) "b"
+
+
+
+ Since this is an mutable data strucure, s1
will contain two pairs.
+
+
module Int: Belt_MutableMapInt
module String: Belt_MutableMapString
type ('k, 'v, 'id)
t
+type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('k, 'id) id -> ('k, 'a, 'id) t
+val clear : ('a, 'b, 'c) t -> unit
+val isEmpty : ('a, 'b, 'c) t -> bool
+val has : ('k, 'a, 'b) t -> 'k -> bool
+val cmpU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : ('k, 'a, 'id) t ->
('k, 'a, 'id) t -> ('a -> 'a -> bool) -> bool
eq m1 m2 eqf
tests whether the maps m1
and m2
are
+ equal, that is, contain equal keys and associate them with
+ equal data. eqf
is the equality predicate used to compare
+ the data associated with the keys.val forEachU : ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
+val forEach : ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the 'k as first argument, and the associated value
+ as second argument. The bindings are passed to f
in increasing
+ order with respect to the ordering over the type of the keys.val reduceU : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val every : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.val someU : ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
+val some : ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.val size : ('k, 'a, 'id) t -> int
+val toList : ('k, 'a, 'id) t -> ('k * 'a) list
val toArray : ('k, 'a, 'id) t -> ('k * 'a) array
+val ofArray : ('k * 'a) array ->
id:('k, 'id) id -> ('k, 'a, 'id) t
+val keysToArray : ('k, 'a, 'b) t -> 'k array
+val valuesToArray : ('b, 'a, 'c) t -> 'a array
+val minKey : ('k, 'a, 'b) t -> 'k option
+val minKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val maxKey : ('k, 'a, 'b) t -> 'k option
+val maxKeyUndefined : ('k, 'a, 'b) t -> 'k Js.undefined
+val minimum : ('k, 'a, 'b) t -> ('k * 'a) option
+val minUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val maximum : ('k, 'a, 'b) t -> ('k * 'a) option
+val maxUndefined : ('k, 'a, 'b) t -> ('k * 'a) Js.undefined
+val get : ('k, 'a, 'id) t -> 'k -> 'a option
+val getUndefined : ('k, 'a, 'id) t -> 'k -> 'a Js.undefined
+val getWithDefault : ('k, 'a, 'id) t -> 'k -> 'a -> 'a
+val getExn : ('k, 'a, 'id) t -> 'k -> 'a
+val checkInvariantInternal : ('a, 'b, 'c) t -> unit
val remove : ('k, 'a, 'id) t -> 'k -> unit
remove m x
do the in-place modification,val removeMany : ('k, 'a, 'id) t -> 'k array -> unit
+val set : ('k, 'a, 'id) t -> 'k -> 'a -> unit
set m x y
do the in-place modificationval updateU : ('k, 'a, 'id) t ->
'k -> ('a option -> 'a option [@bs]) -> unit
+val update : ('k, 'a, 'id) t -> 'k -> ('a option -> 'a option) -> unit
+val mergeMany : ('k, 'a, 'id) t -> ('k * 'a) array -> unit
+val mapU : ('k, 'a, 'id) t ->
('a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val map : ('k, 'a, 'id) t ->
('a -> 'b) -> ('k, 'b, 'id) t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : ('k, 'a, 'id) t ->
('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
+val mapWithKey : ('k, 'a, 'id) t ->
('k -> 'a -> 'b) -> ('k, 'b, 'id) t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableMapInt.html b/docs/api/Belt_MutableMapInt.html
new file mode 100644
index 0000000000..1d4503fffd
--- /dev/null
+++ b/docs/api/Belt_MutableMapInt.html
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MutableMapInt:sig
..end
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairtype+key =
int
type 'a
t
+val make : unit -> 'a t
+val clear : 'a t -> unit
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t ->
'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t ->
'a t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t ->
'a t -> ('a -> 'a -> bool) -> bool
eq m1 m2 cmp
val forEachU : 'a t ->
(key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t -> (key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument.
+ The application order of f
is in increasing order.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t ->
'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val every : 'a t -> (key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val someU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val some : 'a t -> (key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> unit
remove m x
do the in-place modificationval removeMany : 'a t -> key array -> unit
+val set : 'a t -> key -> 'a -> unit
add m x y
do the in-place modification, return
+ m
for chaining. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> unit
+val update : 'a t ->
key -> ('a option -> 'a option) -> unit
+val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableMapString.html b/docs/api/Belt_MutableMapString.html
new file mode 100644
index 0000000000..8386747210
--- /dev/null
+++ b/docs/api/Belt_MutableMapString.html
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MutableMapString:sig
..end
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairtype+key =
string
type 'a
t
+val make : unit -> 'a t
+val clear : 'a t -> unit
+val isEmpty : 'a t -> bool
+val has : 'a t -> key -> bool
+val cmpU : 'a t ->
'a t -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a t ->
'a t -> ('a -> 'a -> int) -> int
cmp m1 m2 cmp
+ First compare by size, if size is the same,
+ compare by key, value pairval eqU : 'a t ->
'a t -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a t ->
'a t -> ('a -> 'a -> bool) -> bool
eq m1 m2 cmp
val forEachU : 'a t ->
(key -> 'a -> unit [@bs]) -> unit
+val forEach : 'a t ->
(key -> 'a -> unit) -> unit
forEach m f
applies f
to all bindings in map m
.
+ f
receives the key as first argument, and the associated value
+ as second argument.
+ The application order of f
is in increasing order.val reduceU : 'a t ->
'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t ->
'b -> ('b -> key -> 'a -> 'b) -> 'b
reduce m a f
computes (f kN dN ... (f k1 d1 a)...)
,
+ where k1 ... kN
are the keys of all bindings in m
+ (in increasing order), and d1 ... dN
are the associated data.val everyU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val every : 'a t ->
(key -> 'a -> bool) -> bool
every m p
checks if all the bindings of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val someU : 'a t ->
(key -> 'a -> bool [@bs]) -> bool
+val some : 'a t ->
(key -> 'a -> bool) -> bool
some m p
checks if at least one binding of the map
+ satisfy the predicate p
.
+ The application order of p
is unspecified.val size : 'a t -> int
+val toList : 'a t -> (key * 'a) list
val toArray : 'a t -> (key * 'a) array
+val ofArray : (key * 'a) array -> 'a t
+val keysToArray : 'a t -> key array
+val valuesToArray : 'a t -> 'a array
+val minKey : 'a t -> key option
+val minKeyUndefined : 'a t -> key Js.undefined
+val maxKey : 'a t -> key option
+val maxKeyUndefined : 'a t -> key Js.undefined
+val minimum : 'a t -> (key * 'a) option
+val minUndefined : 'a t -> (key * 'a) Js.undefined
+val maximum : 'a t -> (key * 'a) option
+val maxUndefined : 'a t -> (key * 'a) Js.undefined
+val get : 'a t -> key -> 'a option
+val getUndefined : 'a t -> key -> 'a Js.undefined
+val getWithDefault : 'a t -> key -> 'a -> 'a
+val getExn : 'a t -> key -> 'a
+val checkInvariantInternal : 'a t -> unit
val remove : 'a t -> key -> unit
remove m x
do the in-place modificationval removeMany : 'a t -> key array -> unit
+val set : 'a t -> key -> 'a -> unit
add m x y
do the in-place modification, return
+ m
for chaining. If x
was already bound
+ in m
, its previous binding disappears.val updateU : 'a t ->
key -> ('a option -> 'a option [@bs]) -> unit
+val update : 'a t ->
key -> ('a option -> 'a option) -> unit
+val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
map m f
returns a map with same domain as m
, where the
+ associated value a
of all bindings of m
has been
+ replaced by the result of the application of f
to a
.
+ The bindings are passed to f
in increasing order
+ with respect to the ordering over the type of the keys.val mapWithKeyU : 'a t ->
(key -> 'a -> 'b [@bs]) -> 'b t
+val mapWithKey : 'a t ->
(key -> 'a -> 'b) -> 'b t
\ No newline at end of file
diff --git a/docs/api/Belt_MutableQueue.html b/docs/api/Belt_MutableQueue.html
new file mode 100644
index 0000000000..0304587632
--- /dev/null
+++ b/docs/api/Belt_MutableQueue.html
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_MutableQueue:sig
..end
+
+ This module implements queues (FIFOs), with in-place modification.
+
+
type 'a
t
+'a
.val make : unit -> 'a t
val clear : 'a t -> unit
val isEmpty : 'a t -> bool
true
if the given queue is empty, false
otherwise.val ofArray : 'a array -> 'a t
ofArray a
is equivalent to Array.forEach a (add q a)
val add : 'a t -> 'a -> unit
add q x
adds the element x
at the end of the queue q
.val peek : 'a t -> 'a option
peekOpt q
returns the first element in queue q
, without removing
+ it from the queue.val peekUndefined : 'a t -> 'a Js.undefined
peekUndefined q
returns undefined
if not foundval peekExn : 'a t -> 'a
peekExn q
+
+
+ raise an exception if q
is empty
+
+
val pop : 'a t -> 'a option
pop q
removes and returns the first element in queue q
.val popUndefined : 'a t -> 'a Js.undefined
popUndefined q
removes and returns the first element in queue q
.
+ it will return undefined if it is already emptyval popExn : 'a t -> 'a
popExn q
+
+
+ raise an exception if q
is empty
+
+
val copy : 'a t -> 'a t
copy q
val size : 'a t -> int
val mapU : 'a t -> ('a -> 'b [@bs]) -> 'b t
+val map : 'a t -> ('a -> 'b) -> 'b t
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
forEach q f
applies f
in turn to all elements of q
,
+ from the least recently entered to the most recently entered.
+ The queue itself is unchanged.val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
reduce q accu f
is equivalent to List.reduce l accu f
,
+ where l
is the list of q
's elements. The queue remains
+ unchanged.val transfer : 'a t -> 'a t -> unit
transfer q1 q2
adds all of q1
's elements at the end of
+ the queue q2
, then clears q1
. It is equivalent to the
+ sequence forEach (fun x -> add x q2) q1; clear q1
, but runs
+ in constant time.val toArray : 'a t -> 'a array
module Int: Belt_MutableSetInt
int
, more efficient
+ than the gerneic typetype+elt =
int
type
t
+val make : unit -> t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val copy : t -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> unit
+val addCheck : t -> elt -> bool
+val mergeMany : t -> elt array -> unit
+val remove : t -> elt -> unit
+val removeCheck : t -> elt -> bool
+val removeMany : t -> elt array -> unit
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
+val cmp : t -> t -> int
+val eq : t -> t -> bool
+val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t ->
'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t ->
(elt -> bool [@bs]) -> t
+val keep : t ->
(elt -> bool) -> t
keep s p
returns a fresh copy of the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) ->
t * t
+val partition : t ->
(elt -> bool) ->
t * t
partition s p
returns a fresh copy pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t ->
elt ->
(t * t) * bool
split s key
return a fresh copy of eachval checkInvariantInternal : t -> unit
module String: Belt_MutableSetString
string
, more efficient
+ than the gerneic typetype+elt =
string
type
t
+val make : unit -> t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val copy : t -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> unit
+val addCheck : t -> elt -> bool
+val mergeMany : t -> elt array -> unit
+val remove : t -> elt -> unit
+val removeCheck : t -> elt -> bool
+val removeMany : t -> elt array -> unit
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
+val cmp : t -> t -> int
+val eq : t -> t -> bool
+val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t ->
'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t ->
'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t ->
(elt -> bool [@bs]) -> t
+val keep : t ->
(elt -> bool) -> t
keep s p
returns a fresh copy of the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) ->
t * t
+val partition : t ->
(elt -> bool) ->
t * t
partition s p
returns a fresh copy pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.undefined
+val getExn : t ->
elt -> elt
+val split : t ->
elt ->
(t * t) * bool
split s key
return a fresh copy of eachval checkInvariantInternal : t -> unit
module Belt_MutableSet:sig
..end
+ + The implementation uses balanced binary trees, and therefore searching + and insertion take time logarithmic in the size of the map. +
+ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two Sets of ints initialized with different + compare functions will have different type. +
+ + For example: +
type t = int * int
+ module I0 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match Pervasives.compare a0 b0 with
+ | 0 -> Pervasives.compare a1 b1
+ | c -> c
+ ))
+ let s0 = make ~id:(module I0)
+ module I1 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a1 b1 with
+ | 0 -> compare a0 b0
+ | c -> c
+ ))
+ let s1 = make ~id:(module I1)
+
+
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : ((int * int), I0.identity) t
+ val s1 : ((int * int), I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let () =
+ add s1 (0,0);
+ add s1 (1,1)
+
+
+
+ Since this is an mutable data strucure, s1
will contain two pairs.
+
+
module Int: Belt_MutableSetInt
int
, more efficient
+ than the gerneic typemodule String: Belt_MutableSetString
string
, more efficient
+ than the gerneic typetype ('k, 'id)
t
+type+('k, 'id)
id =('k, 'id) Belt_Id.comparable
val make : id:('elt, 'id) id -> ('elt, 'id) t
+val ofArray : 'k array -> id:('k, 'id) id -> ('k, 'id) t
+val ofSortedArrayUnsafe : 'elt array ->
id:('elt, 'id) id -> ('elt, 'id) t
+val copy : ('k, 'id) t -> ('k, 'id) t
+val isEmpty : ('a, 'b) t -> bool
+val has : ('elt, 'a) t -> 'elt -> bool
+val add : ('elt, 'id) t -> 'elt -> unit
+val addCheck : ('elt, 'id) t -> 'elt -> bool
+val mergeMany : ('elt, 'id) t -> 'elt array -> unit
+val remove : ('elt, 'id) t -> 'elt -> unit
+val removeCheck : ('elt, 'id) t -> 'elt -> bool
+val removeMany : ('elt, 'id) t -> 'elt array -> unit
+val union : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val intersect : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val diff : ('elt, 'id) t ->
('elt, 'id) t -> ('elt, 'id) t
+val subset : ('elt, 'id) t -> ('elt, 'id) t -> bool
+val cmp : ('elt, 'id) t -> ('elt, 'id) t -> int
+val eq : ('elt, 'id) t -> ('elt, 'id) t -> bool
+val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach m f
applies f
in turn to all elements of m
.
+ In increasing orderval reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every s p
checks if all elements of the set
+ satisfy the predicate p
. Order unspecifiedval someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t
keep s p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) ->
('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) ->
('elt, 'id) t * ('elt, 'id) t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
+val toList : ('elt, 'id) t -> 'elt list
val toArray : ('elt, 'id) t -> 'elt array
+val minimum : ('elt, 'id) t -> 'elt option
+val minUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val maximum : ('elt, 'id) t -> 'elt option
+val maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val get : ('elt, 'id) t -> 'elt -> 'elt option
+val getUndefined : ('elt, 'id) t -> 'elt -> 'elt Js.undefined
+val getExn : ('elt, 'id) t -> 'elt -> 'elt
+val split : ('elt, 'id) t ->
'elt ->
(('elt, 'id) t * ('elt, 'id) t) * bool
split s x
returns a triple ((l, r), present)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.
+ l,r
are freshly made, no sharing with s
val checkInvariantInternal : ('a, 'b) t -> unit
module Belt_MutableSetInt:sig
..end
Belt.MutableSet
specialized with key type to be a primitive type.
+
+
+ It is more efficient in general, the API is the same with Belt.MutableSet
except its key type is fixed,
+ and identity is not needed(using the built-in one)
+
+
+ See Belt.MutableSet
+
+
type+elt =
int
type
t
+val make : unit -> t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val copy : t -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> unit
+val addCheck : t -> elt -> bool
+val mergeMany : t -> elt array -> unit
+val remove : t -> elt -> unit
+val removeCheck : t -> elt -> bool
+val removeMany : t -> elt array -> unit
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
+val cmp : t -> t -> int
+val eq : t -> t -> bool
+val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t ->
'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t ->
(elt -> bool [@bs]) -> t
+val keep : t ->
(elt -> bool) -> t
keep s p
returns a fresh copy of the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) ->
t * t
+val partition : t ->
(elt -> bool) ->
t * t
partition s p
returns a fresh copy pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t ->
elt ->
(t * t) * bool
split s key
return a fresh copy of eachval checkInvariantInternal : t -> unit
module Belt_MutableSetString:sig
..end
Belt.MutableSet
specialized with key type to be a primitive type.
+
+
+ It is more efficient in general, the API is the same with Belt.MutableSet
except its key type is fixed,
+ and identity is not needed(using the built-in one)
+
+
+ See Belt.MutableSet
+
+
type+elt =
string
type
t
+val make : unit -> t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val copy : t -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> unit
+val addCheck : t -> elt -> bool
+val mergeMany : t -> elt array -> unit
+val remove : t -> elt -> unit
+val removeCheck : t -> elt -> bool
+val removeMany : t -> elt array -> unit
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
+val cmp : t -> t -> int
+val eq : t -> t -> bool
+val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t ->
'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t ->
'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t ->
(elt -> bool [@bs]) -> t
+val keep : t ->
(elt -> bool) -> t
keep s p
returns a fresh copy of the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) ->
t * t
+val partition : t ->
(elt -> bool) ->
t * t
partition s p
returns a fresh copy pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.undefined
+val getExn : t ->
elt -> elt
+val split : t ->
elt ->
(t * t) * bool
split s key
return a fresh copy of eachval checkInvariantInternal : t -> unit
module Belt_MutableStack:sig
..end
+
+ This module implements stacks, with in-place modification.
+
+
type 'a
t
+val make : unit -> 'a t
val clear : 'a t -> unit
val copy : 'a t -> 'a t
copy x
O(1) operation, return a new stackval push : 'a t -> 'a -> unit
+val popUndefined : 'a t -> 'a Js.undefined
+val pop : 'a t -> 'a option
+val topUndefined : 'a t -> 'a Js.undefined
+val top : 'a t -> 'a option
+val isEmpty : 'a t -> bool
+val size : 'a t -> int
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
+val dynamicPopIterU : 'a t -> ('a -> unit [@bs]) -> unit
+val dynamicPopIter : 'a t -> ('a -> unit) -> unit
dynamicPopIter s f
+ apply f
to each element of s
. The item is poped
+ before applying f
, s
will be empty after this opeartion.
+ This function is useful for worklist algorithmmodule Belt_Range:sig
..end
[start, finsish]
,
+ it use a for-loop internally instead of creating an arrayval forEachU : int -> int -> (int -> unit [@bs]) -> unit
+val forEach : int -> int -> (int -> unit) -> unit
forEach start finish action
+
+
+ equivalent to Belt.Array.(forEach (range start finish) action)
+
+
val everyU : int -> int -> (int -> bool [@bs]) -> bool
+val every : int -> int -> (int -> bool) -> bool
every start finish p
+
+
+ equivalent to Belt.Array.(every (range start finish) p )
+
+
val everyByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+val everyBy : int -> int -> step:int -> (int -> bool) -> bool
everyBy start finish ~step p
+
+
+ See Belt_Array.rangeBy
+
+
+ equivalent to Belt.Array.(every (rangeBy start finish ~step) p)
+
+
val someU : int -> int -> (int -> bool [@bs]) -> bool
+val some : int -> int -> (int -> bool) -> bool
some start finish p
+
+
+ equivalent to Belt.Array.(some (range start finish) p)
+
+
val someByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+val someBy : int -> int -> step:int -> (int -> bool) -> bool
someBy start finish ~step p
+
+
+ See Belt_Array.rangeBy
+
+
+ equivalent to Belt.Array.(some (rangeBy start finish ~step) p)
+
+
module Dict: Belt_SetDict
type ('key, 'id)
t
+type+('key, 'id)
cmp =('key, 'id) Belt_Id.cmp
val empty : ('elt, 'id) t
+val ofArray : 'k array -> cmp:('k, 'id) cmp -> ('k, 'id) t
+val ofSortedArrayUnsafe : 'elt array -> ('elt, 'id) t
+val isEmpty : ('a, 'b) t -> bool
+val has : ('k, 'id) t -> 'k -> cmp:('k, 'id) cmp -> bool
+val add : ('k, 'id) t ->
'k -> cmp:('k, 'id) cmp -> ('k, 'id) t
add s x
If x
was already in s
, s
is returned unchanged.val mergeMany : ('elt, 'id) t ->
'elt array -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val remove : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
remove m x
If x
was not in m
, m
is returned reference unchanged.val removeMany : ('elt, 'id) t ->
'elt array -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val union : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val intersect : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val diff : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val subset : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> bool
+val cmp : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> int
val eq : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> bool
+val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach s f
applies f
in turn to all elements of s
.
+ In increasing orderval reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecifiedval someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t -> ('elt -> bool) -> ('elt, 'id) t
keep m p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) ->
('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t * ('elt, 'id) t
partition m p
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
+val toList : ('elt, 'id) t -> 'elt list
val toArray : ('elt, 'id) t -> 'elt array
+val minimum : ('elt, 'id) t -> 'elt option
+val minUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val maximum : ('elt, 'id) t -> 'elt option
+val maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val get : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt option
+val getUndefined : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt Js.undefined
+val getExn : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt
+val split : ('elt, 'id) t ->
'elt ->
cmp:('elt, 'id) cmp ->
(('elt, 'id) t * ('elt, 'id) t) * bool
+val checkInvariantInternal : ('a, 'b) t -> unit
module Int: Belt_SetInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisontype+elt =
int
type
t
+val empty : t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> t
x
was already in s
, s
is returned unchanged.val mergeMany : t -> elt array -> t
+val remove : t -> elt -> t
x
was not in s
, s
is returned unchanged.val removeMany : t -> elt array -> t
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
subset s1 s2
tests whether the set s1
is a subset of
+ the set s2
.val cmp : t -> t -> int
val eq : t -> t -> bool
eq s1 s2
tests whether the sets s1
and s2
are
+ equal, that is, contain equal elements.val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t -> 'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t -> (elt -> bool [@bs]) -> t
+val keep : t -> (elt -> bool) -> t
keep p s
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) -> t * t
+val partition : t -> (elt -> bool) -> t * t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t -> elt -> elt option
+val getUndefined : t -> elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t -> elt -> (t * t) * bool
split x s
returns a triple (l, present, r)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.val checkInvariantInternal : t -> unit
module String: Belt_SetString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisontype+elt =
string
type
t
+val empty : t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> t
x
was already in s
, s
is returned unchanged.val mergeMany : t -> elt array -> t
+val remove : t -> elt -> t
x
was not in s
, s
is returned unchanged.val removeMany : t -> elt array -> t
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
subset s1 s2
tests whether the set s1
is a subset of
+ the set s2
.val cmp : t -> t -> int
val eq : t -> t -> bool
eq s1 s2
tests whether the sets s1
and s2
are
+ equal, that is, contain equal elements.val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t -> 'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t -> (elt -> bool [@bs]) -> t
+val keep : t -> (elt -> bool) -> t
keep p s
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) -> t * t
+val partition : t ->
(elt -> bool) -> t * t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t -> elt -> elt option
+val getUndefined : t -> elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t ->
elt -> (t * t) * bool
split x s
returns a triple (l, present, r)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.val checkInvariantInternal : t -> unit
module Belt_Set:sig
..end
+ + The implementation uses balanced binary trees, and therefore searching + and insertion take time logarithmic in the size of the map. +
+ + All data are parameterized by not its only type but also a unique identity in + the time of initialization, so that two Sets of ints initialized with different + compare functions will have different type. +
+ + For example: +
type t = int * int
+ module I0 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match Pervasives.compare a0 b0 with
+ | 0 -> Pervasives.compare a1 b1
+ | c -> c
+ ))
+ let s0 = make ~id:(module I0)
+ module I1 =
+ (val Belt.Id.comparableU ~cmp:(fun[@bs] ((a0,a1) : t) ((b0,b1) : t) ->
+ match compare a1 b1 with
+ | 0 -> compare a0 b0
+ | c -> c
+ ))
+ let s1 = make ~id:(module I1)
+
+
+
+ Here the compiler would infer s0
and s1
having different type so that
+ it would not mix.
+
+ +
val s0 : ((int * int), I0.identity) t
+ val s1 : ((int * int), I1.identity) t
+
++ + We can add elements to the collection: +
+ +
let s2 = add s1 (0,0)
+ let s3 = add s2 (1,1)
+
+
+
+ Since this is an immutable data strucure, s1
will be an empty set
+ while s2
will contain one element, s3
will contain two.
+
+
+ The union s0 s3
will result in a type error, since their identity mismatch
+
+
module Int: Belt_SetInt
int
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule String: Belt_SetString
string
, more efficient
+ than the gerneic type, its compare behavior is fixed using the built-in comparisonmodule Dict: Belt_SetDict
type ('key, 'identity)
t
+('key, 'identity) t
+
+
+ 'key
is the element type
+
+
+ 'identity
the identity of the collection
+
+
type+('key, 'id)
id =('key, 'id) Belt_Id.comparable
val make : id:('elt, 'id) id -> ('elt, 'id) t
make ~id
+module IntCmp = (val IntCmp.comparable ~cmp:(fun (x:int) y -> Pervasives.comapre x y)) + let s = make ~id:(module IntCmp) +
val ofArray : 'k array -> id:('k, 'id) id -> ('k, 'id) t
ofArray xs ~id
+module IntCmp = (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + toArray (ofArray [1;3;2;4] (module IntCmp)) = [1;2;3;4] + +
val ofSortedArrayUnsafe : 'elt array -> id:('elt, 'id) id -> ('elt, 'id) t
ofSortedArrayUnsafe xs ~id
+
+
+ The same as Belt_Set.ofArray
except it is after assuming the input array x
is already sorted
+
+
+ Unsafe
+
+
val isEmpty : ('a, 'b) t -> bool
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + isEmpty (ofArray [||] ~id:(module IntCmp)) = true;; + isEmpty (ofArray [|1|] ~id:(module IntCmp)) = true;; +
val has : ('elt, 'id) t -> 'elt -> bool
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let v = ofArray [|1;4;2;5|] ~id:(module IntCmp);; + has v 3 = false;; + has v 1 = true;; +
val add : ('elt, 'id) t -> 'elt -> ('elt, 'id) t
add s x
If x
was already in s
, s
is returned unchanged.+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = make ~id:(module IntCmp);; + let s1 = add s0 1 ;; + let s2 = add s1 2;; + let s3 = add s2 2;; + toArray s0 = [||];; + toArray s1 = [|1|];; + toArray s2 = [|1;2|];; + toArray s3 = [|1;2|];; + s2 == s3;; +
val mergeMany : ('elt, 'id) t -> 'elt array -> ('elt, 'id) t
mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike Belt_Set.add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
+
val remove : ('elt, 'id) t -> 'elt -> ('elt, 'id) t
remove m x
If x
was not in m
, m
is returned reference unchanged.+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|2;3;1;4;5|];; + let s1 = remove s0 1 ;; + let s2 = remove s1 3 ;; + let s3 = remove s2 3 ;; + + toArray s1 = [|2;3;4;5|];; + toArray s2 = [|2;4;5|];; + s2 == s3;; +
val removeMany : ('elt, 'id) t -> 'elt array -> ('elt, 'id) t
removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Set.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
+
val union : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
union s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (union s0 s1) = [|1;2;3;4;5;6|] +
val intersect : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
intersect s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (intersect s0 s1) = [|2;3;5|] +
val diff : ('elt, 'id) t -> ('elt, 'id) t -> ('elt, 'id) t
diff s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + toArray (diff s0 s1) = [|6|];; + toArray (diff s1 s0) = [|1;4|];; +
val subset : ('elt, 'id) t -> ('elt, 'id) t -> bool
subset s0 s1
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let s1 = ofArray ~id:(module IntCmp) [|5;2;3;1;5;4;|];; + let s2 = intersect s0 s1;; + subset s2 s0 = true;; + subset s1 s0 = true;; + subset s1 s2 = false;; +
val cmp : ('elt, 'id) t -> ('elt, 'id) t -> int
size
first and then iterate over
+ each element following the order of elementsval eq : ('elt, 'id) t -> ('elt, 'id) t -> bool
eq s0 s1
toArray s0 = toArray s1
val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach s f
applies f
in turn to all elements of s
.
+ In increasing order+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + let acc = ref [] ;; + forEach s0 (fun x -> acc := x !acc);; + !acc = [6;5;3;2];; +
val reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + reduce s0 [] Bs.List.add = [6;5;3;2];; +
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t -> ('elt -> bool) -> ('elt, 'id) t
keep m p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t * ('elt, 'id) t
partition m p
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
size s
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + size s0 = 4;; +
val toArray : ('elt, 'id) t -> 'elt array
toArray s0
+module IntCmp = + (val IntCmp.comparableU + ~cmp:(fun[@bs] + (x:int) y -> Pervasives.comapre x y));; + let s0 = ofArray ~id:(module IntCmp) [|5;2;3;5;6|]];; + toArray s0 = [|2;3;5;6|];; +
val toList : ('elt, 'id) t -> 'elt list
+
+ See Belt_Set.toArray
+
+
val minimum : ('elt, 'id) t -> 'elt option
minimum s0
None
if it is emptyval minUndefined : ('elt, 'id) t -> 'elt Js.undefined
minUndefined s0
undefined
if it is emptyval maximum : ('elt, 'id) t -> 'elt option
maximum s0
None
if it is emptyval maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
maxUndefined s0
undefined
if it is emptyval get : ('elt, 'id) t -> 'elt -> 'elt option
get s0 k
k'
which is equivalent to k
+ using the comparator specifiecd by this collection, None
+ if it does not existval getUndefined : ('elt, 'id) t -> 'elt -> 'elt Js.undefined
Belt_Set.get
val getExn : ('elt, 'id) t -> 'elt -> 'elt
Belt_Set.get
+
+
+ raise if not exist
+
+
val split : ('elt, 'id) t ->
'elt -> (('elt, 'id) t * ('elt, 'id) t) * bool
split set ele
((smaller, larger), present)
,
+ present
is true when ele
exist in set
val getData : ('k, 'id) t -> ('k, 'id) Belt_SetDict.t
getData s0
+
+
+ Advanced usage only
+
val getId : ('k, 'id) t -> ('k, 'id) id
getId s0
+
+
+ Advanced usage only
+
s0
val packIdData : id:('k, 'id) id ->
data:('k, 'id) Belt_SetDict.t -> ('k, 'id) t
packIdData ~id ~data
+
+
+ Advanced usage only
+
module Belt_SetDict:sig
..end
add s x
If x
was already in s
, s
is returned unchanged.type ('key, 'id)
t
+type+('key, 'id)
cmp =('key, 'id) Belt_Id.cmp
val empty : ('elt, 'id) t
+val ofArray : 'k array -> cmp:('k, 'id) cmp -> ('k, 'id) t
+val ofSortedArrayUnsafe : 'elt array -> ('elt, 'id) t
+val isEmpty : ('a, 'b) t -> bool
+val has : ('k, 'id) t -> 'k -> cmp:('k, 'id) cmp -> bool
+val add : ('k, 'id) t ->
'k -> cmp:('k, 'id) cmp -> ('k, 'id) t
add s x
If x
was already in s
, s
is returned unchanged.val mergeMany : ('elt, 'id) t ->
'elt array -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val remove : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
remove m x
If x
was not in m
, m
is returned reference unchanged.val removeMany : ('elt, 'id) t ->
'elt array -> cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val union : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val intersect : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val diff : ('elt, 'id) t ->
('elt, 'id) t ->
cmp:('elt, 'id) cmp -> ('elt, 'id) t
+val subset : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> bool
+val cmp : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> int
val eq : ('elt, 'id) t ->
('elt, 'id) t -> cmp:('elt, 'id) cmp -> bool
+val forEachU : ('elt, 'id) t -> ('elt -> unit [@bs]) -> unit
+val forEach : ('elt, 'id) t -> ('elt -> unit) -> unit
forEach s f
applies f
in turn to all elements of s
.
+ In increasing orderval reduceU : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+val reduce : ('elt, 'id) t -> 'a -> ('a -> 'elt -> 'a) -> 'a
val everyU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val every : ('elt, 'id) t -> ('elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecifiedval someU : ('elt, 'id) t -> ('elt -> bool [@bs]) -> bool
+val some : ('elt, 'id) t -> ('elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
.val keepU : ('elt, 'id) t ->
('elt -> bool [@bs]) -> ('elt, 'id) t
+val keep : ('elt, 'id) t -> ('elt -> bool) -> ('elt, 'id) t
keep m p
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : ('elt, 'id) t ->
('elt -> bool [@bs]) ->
('elt, 'id) t * ('elt, 'id) t
+val partition : ('elt, 'id) t ->
('elt -> bool) -> ('elt, 'id) t * ('elt, 'id) t
partition m p
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : ('elt, 'id) t -> int
+val toList : ('elt, 'id) t -> 'elt list
val toArray : ('elt, 'id) t -> 'elt array
+val minimum : ('elt, 'id) t -> 'elt option
+val minUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val maximum : ('elt, 'id) t -> 'elt option
+val maxUndefined : ('elt, 'id) t -> 'elt Js.undefined
+val get : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt option
+val getUndefined : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt Js.undefined
+val getExn : ('elt, 'id) t ->
'elt -> cmp:('elt, 'id) cmp -> 'elt
+val split : ('elt, 'id) t ->
'elt ->
cmp:('elt, 'id) cmp ->
(('elt, 'id) t * ('elt, 'id) t) * bool
+val checkInvariantInternal : ('a, 'b) t -> unit
module Belt_SetInt:sig
..end
type+elt =
int
type
t
+val empty : t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> t
x
was already in s
, s
is returned unchanged.val mergeMany : t -> elt array -> t
+val remove : t -> elt -> t
x
was not in s
, s
is returned unchanged.val removeMany : t -> elt array -> t
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
subset s1 s2
tests whether the set s1
is a subset of
+ the set s2
.val cmp : t -> t -> int
val eq : t -> t -> bool
eq s1 s2
tests whether the sets s1
and s2
are
+ equal, that is, contain equal elements.val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t -> 'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t -> (elt -> bool [@bs]) -> t
+val keep : t -> (elt -> bool) -> t
keep p s
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) -> t * t
+val partition : t -> (elt -> bool) -> t * t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t -> elt -> elt option
+val getUndefined : t -> elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t -> elt -> (t * t) * bool
split x s
returns a triple (l, present, r)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.val checkInvariantInternal : t -> unit
module Belt_SetString:sig
..end
type+elt =
string
type
t
+val empty : t
+val ofArray : elt array -> t
+val ofSortedArrayUnsafe : elt array -> t
+val isEmpty : t -> bool
+val has : t -> elt -> bool
+val add : t -> elt -> t
x
was already in s
, s
is returned unchanged.val mergeMany : t -> elt array -> t
+val remove : t -> elt -> t
x
was not in s
, s
is returned unchanged.val removeMany : t -> elt array -> t
+val union : t -> t -> t
+val intersect : t -> t -> t
+val diff : t -> t -> t
+val subset : t -> t -> bool
subset s1 s2
tests whether the set s1
is a subset of
+ the set s2
.val cmp : t -> t -> int
val eq : t -> t -> bool
eq s1 s2
tests whether the sets s1
and s2
are
+ equal, that is, contain equal elements.val forEachU : t -> (elt -> unit [@bs]) -> unit
+val forEach : t -> (elt -> unit) -> unit
val reduceU : t -> 'a -> ('a -> elt -> 'a [@bs]) -> 'a
+val reduce : t -> 'a -> ('a -> elt -> 'a) -> 'a
val everyU : t -> (elt -> bool [@bs]) -> bool
+val every : t -> (elt -> bool) -> bool
every p s
checks if all elements of the set
+ satisfy the predicate p
. Order unspecified.val someU : t -> (elt -> bool [@bs]) -> bool
+val some : t -> (elt -> bool) -> bool
some p s
checks if at least one element of
+ the set satisfies the predicate p
. Oder unspecified.val keepU : t -> (elt -> bool [@bs]) -> t
+val keep : t -> (elt -> bool) -> t
keep p s
returns the set of all elements in s
+ that satisfy predicate p
.val partitionU : t ->
(elt -> bool [@bs]) -> t * t
+val partition : t ->
(elt -> bool) -> t * t
partition p s
returns a pair of sets (s1, s2)
, where
+ s1
is the set of all the elements of s
that satisfy the
+ predicate p
, and s2
is the set of all the elements of
+ s
that do not satisfy p
.val size : t -> int
+val toList : t -> elt list
val toArray : t -> elt array
+val minimum : t -> elt option
+val minUndefined : t -> elt Js.undefined
+val maximum : t -> elt option
+val maxUndefined : t -> elt Js.undefined
+val get : t -> elt -> elt option
+val getUndefined : t -> elt -> elt Js.undefined
+val getExn : t -> elt -> elt
+val split : t ->
elt -> (t * t) * bool
split x s
returns a triple (l, present, r)
, where
+ l
is the set of elements of s
that are
+ strictly less than x
;
+ r
is the set of elements of s
that are
+ strictly greater than x
;
+ present
is false
if s
contains no element equal to x
,
+ or true
if s
contains an element equal to x
.val checkInvariantInternal : t -> unit
module Int: Belt_SortArrayInt
int
, more efficient
+ than the gerneic typetype+element =
int
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module String: Belt_SortArrayString
string
, more efficient
+ than the gerneic typetype+element =
string
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module Belt_SortArray:sig
..end
module Int: Belt_SortArrayInt
int
, more efficient
+ than the gerneic typemodule String: Belt_SortArrayString
string
, more efficient
+ than the gerneic typeval strictlySortedLengthU : 'a array -> ('a -> 'a -> bool [@bs]) -> int
+val strictlySortedLength : 'a array -> ('a -> 'a -> bool) -> int
strictlySortedLenght xs cmp
+ return +n
means increasing order
+ -n
means negative order+strictlySortedLength [|1;2;3;4;3|] (fun x y -> x < y) = 4;; + strictlySortedLength [||] (fun x y -> x < y) = 0;; + strictlySortedLength [|1|] (fun x y -> x < y) = 1;; + strictlySortedLength [|4;3;2;1|] (fun x y -> x < y) = -4;; +
val isSortedU : 'a array -> ('a -> 'a -> int [@bs]) -> bool
+val isSorted : 'a array -> ('a -> 'a -> int) -> bool
isSorted arr cmp
+isSorted [|1;1;2;3;4|] (fun x y -> compare x y)) = true +
val stableSortInPlaceByU : 'a array -> ('a -> 'a -> int [@bs]) -> unit
+val stableSortInPlaceBy : 'a array -> ('a -> 'a -> int) -> unit
stableSortBy xs cmp
+
+
+ Sort xs in place using comparator cmp
, the stable means if the elements
+ are equal, their order will be preserved
+
+
val stableSortByU : 'a array -> ('a -> 'a -> int [@bs]) -> 'a array
+val stableSortBy : 'a array -> ('a -> 'a -> int) -> 'a array
stableSort xs cmp
+
+ The same as Belt_SortArray.stableSortInPlaceBy
except that xs
is not modified
+
val binarySearchByU : 'a array -> 'a -> ('a -> 'a -> int [@bs]) -> int
+val binarySearchBy : 'a array -> 'a -> ('a -> 'a -> int) -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
+binarySearchBy [|1;2;3;4;33;35;36|] 33 = 4;; + lnot (binarySearchBy [|1;3;5;7|] 4) = 2;; +
module Belt_SortArrayInt:sig
..end
Belt_SortArray
, the docs in that module also
+ applies here, except the comparator is fixed and inlinedtype+element =
int
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module Belt_SortArrayString:sig
..end
Belt_SortArray
, the docs in that module also
+ applies here, except the comparator is fixed and inlinedtype+element =
string
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module Belt_internalAVLset:sig
..end
include ??
+type+('a, 'b)
cmp =('a, 'b) Belt_Id.cmp
val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : 'a t
+val copy : 'a t -> 'a t
+val create : 'a t -> 'a -> 'a t -> 'a t
+val bal : 'a t -> 'a -> 'a t -> 'a t
+val singleton : 'a -> 'a t
+val minimum : 'a t -> 'a option
+val minUndefined : 'a t -> 'a Js.undefined
+val maximum : 'a t -> 'a option
+val maxUndefined : 'a t -> 'a Js.undefined
+val removeMinAuxWithRef : 'a node -> 'a Pervasives.ref -> 'a t
+val empty : 'a t
+val isEmpty : 'a t -> bool
+val stackAllLeft : 'a t -> 'a node list -> 'a node list
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
+val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
+val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+val every : 'a t -> ('a -> bool) -> bool
+val someU : 'a t -> ('a -> bool [@bs]) -> bool
+val some : 'a t -> ('a -> bool) -> bool
+'a t -> 'a -> 'a t -> 'a t
+ : 'a t -> 'a t -> 'a t
+ : 'a t -> ('a -> bool [@bs]) -> 'a t
+ : 'a t -> ('a -> bool) -> 'a t
+ : val keepCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t
+val keepCopy : 'a t -> ('a -> bool) -> 'a t
+'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+ : 'a t -> ('a -> bool) -> 'a t * 'a t
+ : val partitionCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+val partitionCopy : 'a t -> ('a -> bool) -> 'a t * 'a t
+val lengthNode : 'a node -> int
+val size : 'a t -> int
+val toList : 'a t -> 'a list
+val checkInvariantInternal : 'a t -> unit
val fillArray : 'a node -> int -> 'a array -> int
+val toArray : 'a t -> 'a array
+val ofSortedArrayAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayRevAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayUnsafe : 'a array -> 'a t
+val has : 'a t -> 'a -> cmp:('a, 'b) cmp -> bool
+val cmp : 'a t -> 'a t -> cmp:('a, 'b) cmp -> int
+val eq : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val subset : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val get : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a option
+val getUndefined : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a Js.undefined
+val getExn : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a
+val ofArray : 'a array -> cmp:('a, 'b) cmp -> 'a t
+val addMutate : cmp:('a, 'b) cmp -> 'a t -> 'a -> 'a t
+val balMutate : 'a node -> 'a node
+val removeMinAuxWithRootMutate : 'a node -> 'a node -> 'a t
\ No newline at end of file
diff --git a/docs/api/Belt_internalAVLtree.html b/docs/api/Belt_internalAVLtree.html
new file mode 100644
index 0000000000..dfdacc3fa1
--- /dev/null
+++ b/docs/api/Belt_internalAVLtree.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_internalAVLtree:sig
..end
include ??
+
+val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : ('a, 'b) t
type+('k, 'id)
cmp =('k, 'id) Belt_Id.cmp
val copy : ('k, 'v) t -> ('k, 'v) t
+val create : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val bal : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val singleton : 'a -> 'b -> ('a, 'b) t
+val updateValue : ('k, 'v) node -> 'v -> ('k, 'v) node
+val minKey : ('a, 'b) t -> 'a option
+val minKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val maxKey : ('a, 'b) t -> 'a option
+val maxKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val minimum : ('a, 'b) t -> ('a * 'b) option
+val minUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val maximum : ('a, 'b) t -> ('a * 'b) option
+val maxUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val removeMinAuxWithRef : ('a, 'b) node -> 'a Pervasives.ref -> 'b Pervasives.ref -> ('a, 'b) t
+val empty : ('a, 'b) t
+val isEmpty : ('a, 'b) t -> bool
+val stackAllLeft : ('a, 'b) t -> ('a, 'b) node list -> ('a, 'b) node list
+val forEachU : ('a, 'b) t -> ('a -> 'b -> unit [@bs]) -> unit
+val forEach : ('a, 'b) t -> ('a -> 'b -> unit) -> unit
+val mapU : ('c, 'a) t -> ('a -> 'b [@bs]) -> ('c, 'b) t
+val map : ('c, 'a) t -> ('a -> 'b) -> ('c, 'b) t
+val mapWithKeyU : ('a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> ('a, 'c) t
+val mapWithKey : ('a, 'b) t -> ('a -> 'b -> 'c) -> ('a, 'c) t
+val reduceU : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduce : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+val everyU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val every : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val someU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val some : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val join : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
+val concatOrJoin : ('a, 'b) t -> 'a -> 'b option -> ('a, 'b) t -> ('a, 'b) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t
+ : val keepMapU : ('a, 'b) t -> ('a -> 'b -> 'c option [@bs]) -> ('a, 'c) t
+val keepMap : ('a, 'b) t -> ('a -> 'b -> 'c option) -> ('a, 'c) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t * ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t * ('a, 'b) t
+ : val lengthNode : ('a, 'b) node -> int
+val size : ('a, 'b) t -> int
+val toList : ('a, 'b) t -> ('a * 'b) list
+val checkInvariantInternal : ('a, 'b) t -> unit
val fillArray : ('a, 'b) node -> int -> ('a * 'b) array -> int
+val toArray : ('a, 'b) t -> ('a * 'b) array
+val keysToArray : ('a, 'b) t -> 'a array
+val valuesToArray : ('a, 'b) t -> 'b array
+val ofSortedArrayAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayRevAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayUnsafe : ('a * 'b) array -> ('a, 'b) t
+val cmpU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int [@bs]) -> int
+val cmp : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int) -> int
+val eqU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp ->
veq:('b -> 'c -> bool [@bs]) -> bool
+val eq : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> veq:('b -> 'c -> bool) -> bool
+val get : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b option
+val getUndefined : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b Js.undefined
+val getWithDefault : ('a, 'b) t -> 'a -> 'b -> cmp:('a, 'c) cmp -> 'b
+val getExn : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b
+val has : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> bool
+val ofArray : ('a * 'b) array -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val updateMutate : ('a, 'b) t ->
'a -> 'b -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val balMutate : ('a, 'b) node -> ('a, 'b) node
+val removeMinAuxWithRootMutate : ('a, 'b) node -> ('a, 'b) node -> ('a, 'b) t
\ No newline at end of file
diff --git a/docs/api/Belt_internalBuckets.C.html b/docs/api/Belt_internalBuckets.C.html
new file mode 100644
index 0000000000..2a6040f043
--- /dev/null
+++ b/docs/api/Belt_internalBuckets.C.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+ module C: Belt_internalBucketsType
type+'a
opt ='a Js.undefined
include ??
+
+val toOpt : 'a opt -> 'a option
+val return : 'a -> 'a opt
+val emptyOpt : 'a Js.undefined
+val make : hash:'hash -> eq:'eq -> hintSize:int -> ('hash, 'eq, 'a) container
+val clear : ('a, 'b, 'c) container -> unit
+val isEmpty : ('a, 'b, 'c) container -> bool
\ No newline at end of file
diff --git a/docs/api/Belt_internalBuckets.html b/docs/api/Belt_internalBuckets.html
new file mode 100644
index 0000000000..1ca941dac8
--- /dev/null
+++ b/docs/api/Belt_internalBuckets.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_internalBuckets:sig
..end
module C: Belt_internalBucketsType
include ??
+
+val copy : ('hash, 'eq, 'a, 'b) t -> ('hash, 'eq, 'a, 'b) t
+val forEachU : ('d, 'e, 'a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> unit
+val forEach : ('d, 'e, 'a, 'b) t -> ('a -> 'b -> 'c) -> unit
+val reduceU : ('d, 'e, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduce : ('d, 'e, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+val logStats : ('a, 'b, 'c, 'd) t -> unit
+val keepMapInPlaceU : ('c, 'd, 'a, 'b) t -> ('a -> 'b -> 'b option [@bs]) -> unit
+val keepMapInPlace : ('c, 'd, 'a, 'b) t -> ('a -> 'b -> 'b option) -> unit
+val fillArray : int -> ('a * 'b) array -> ('a, 'b) bucket -> int
+val keysToArray : ('b, 'c, 'a, 'd) t -> 'a array
+val valuesToArray : ('a, 'c, 'd, 'b) t -> 'b array
+val toArray : ('c, 'd, 'a, 'b) t -> ('a * 'b) array
+val getBucketHistogram : ('a, 'b, 'c, 'd) t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_internalBucketsType.html b/docs/api/Belt_internalBucketsType.html
new file mode 100644
index 0000000000..b7677d836b
--- /dev/null
+++ b/docs/api/Belt_internalBucketsType.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_internalBucketsType:sig
..end
type+'a
opt ='a Js.undefined
include ??
+
+val toOpt : 'a opt -> 'a option
+val return : 'a -> 'a opt
+val emptyOpt : 'a Js.undefined
+val make : hash:'hash -> eq:'eq -> hintSize:int -> ('hash, 'eq, 'a) container
+val clear : ('a, 'b, 'c) container -> unit
+val isEmpty : ('a, 'b, 'c) container -> bool
\ No newline at end of file
diff --git a/docs/api/Belt_internalMapInt.A.html b/docs/api/Belt_internalMapInt.A.html
new file mode 100644
index 0000000000..d2fa907ada
--- /dev/null
+++ b/docs/api/Belt_internalMapInt.A.html
@@ -0,0 +1,648 @@
+
+
+
+
+
+
+
+
+
+
+ module A: Belt_Array
val length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module N: Belt_internalAVLtree
include ??
+
+val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : ('a, 'b) t
type+('k, 'id)
cmp =('k, 'id) Belt_Id.cmp
val copy : ('k, 'v) t -> ('k, 'v) t
+val create : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val bal : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val singleton : 'a -> 'b -> ('a, 'b) t
+val updateValue : ('k, 'v) node -> 'v -> ('k, 'v) node
+val minKey : ('a, 'b) t -> 'a option
+val minKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val maxKey : ('a, 'b) t -> 'a option
+val maxKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val minimum : ('a, 'b) t -> ('a * 'b) option
+val minUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val maximum : ('a, 'b) t -> ('a * 'b) option
+val maxUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val removeMinAuxWithRef : ('a, 'b) node -> 'a Pervasives.ref -> 'b Pervasives.ref -> ('a, 'b) t
+val empty : ('a, 'b) t
+val isEmpty : ('a, 'b) t -> bool
+val stackAllLeft : ('a, 'b) t -> ('a, 'b) node list -> ('a, 'b) node list
+val forEachU : ('a, 'b) t -> ('a -> 'b -> unit [@bs]) -> unit
+val forEach : ('a, 'b) t -> ('a -> 'b -> unit) -> unit
+val mapU : ('c, 'a) t -> ('a -> 'b [@bs]) -> ('c, 'b) t
+val map : ('c, 'a) t -> ('a -> 'b) -> ('c, 'b) t
+val mapWithKeyU : ('a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> ('a, 'c) t
+val mapWithKey : ('a, 'b) t -> ('a -> 'b -> 'c) -> ('a, 'c) t
+val reduceU : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduce : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+val everyU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val every : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val someU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val some : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val join : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
+val concatOrJoin : ('a, 'b) t -> 'a -> 'b option -> ('a, 'b) t -> ('a, 'b) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t
+ : val keepMapU : ('a, 'b) t -> ('a -> 'b -> 'c option [@bs]) -> ('a, 'c) t
+val keepMap : ('a, 'b) t -> ('a -> 'b -> 'c option) -> ('a, 'c) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t * ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t * ('a, 'b) t
+ : val lengthNode : ('a, 'b) node -> int
+val size : ('a, 'b) t -> int
+val toList : ('a, 'b) t -> ('a * 'b) list
+val checkInvariantInternal : ('a, 'b) t -> unit
val fillArray : ('a, 'b) node -> int -> ('a * 'b) array -> int
+val toArray : ('a, 'b) t -> ('a * 'b) array
+val keysToArray : ('a, 'b) t -> 'a array
+val valuesToArray : ('a, 'b) t -> 'b array
+val ofSortedArrayAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayRevAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayUnsafe : ('a * 'b) array -> ('a, 'b) t
+val cmpU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int [@bs]) -> int
+val cmp : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int) -> int
+val eqU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp ->
veq:('b -> 'c -> bool [@bs]) -> bool
+val eq : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> veq:('b -> 'c -> bool) -> bool
+val get : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b option
+val getUndefined : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b Js.undefined
+val getWithDefault : ('a, 'b) t -> 'a -> 'b -> cmp:('a, 'c) cmp -> 'b
+val getExn : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b
+val has : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> bool
+val ofArray : ('a * 'b) array -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val updateMutate : ('a, 'b) t ->
'a -> 'b -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val balMutate : ('a, 'b) node -> ('a, 'b) node
+val removeMinAuxWithRootMutate : ('a, 'b) node -> ('a, 'b) node -> ('a, 'b) t
\ No newline at end of file
diff --git a/docs/api/Belt_internalMapInt.S.html b/docs/api/Belt_internalMapInt.S.html
new file mode 100644
index 0000000000..d42da9cd09
--- /dev/null
+++ b/docs/api/Belt_internalMapInt.S.html
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+ module S: Belt_SortArray
module Int: Belt_SortArrayInt
int
, more efficient
+ than the gerneic typemodule String: Belt_SortArrayString
string
, more efficient
+ than the gerneic typeval strictlySortedLengthU : 'a array -> ('a -> 'a -> bool [@bs]) -> int
+val strictlySortedLength : 'a array -> ('a -> 'a -> bool) -> int
strictlySortedLenght xs cmp
+ return +n
means increasing order
+ -n
means negative order+strictlySortedLength [|1;2;3;4;3|] (fun x y -> x < y) = 4;; + strictlySortedLength [||] (fun x y -> x < y) = 0;; + strictlySortedLength [|1|] (fun x y -> x < y) = 1;; + strictlySortedLength [|4;3;2;1|] (fun x y -> x < y) = -4;; +
val isSortedU : 'a array -> ('a -> 'a -> int [@bs]) -> bool
+val isSorted : 'a array -> ('a -> 'a -> int) -> bool
isSorted arr cmp
+isSorted [|1;1;2;3;4|] (fun x y -> compare x y)) = true +
val stableSortInPlaceByU : 'a array -> ('a -> 'a -> int [@bs]) -> unit
+val stableSortInPlaceBy : 'a array -> ('a -> 'a -> int) -> unit
stableSortBy xs cmp
+
+
+ Sort xs in place using comparator cmp
, the stable means if the elements
+ are equal, their order will be preserved
+
+
val stableSortByU : 'a array -> ('a -> 'a -> int [@bs]) -> 'a array
+val stableSortBy : 'a array -> ('a -> 'a -> int) -> 'a array
stableSort xs cmp
+
+ The same as Belt_SortArray.stableSortInPlaceBy
except that xs
is not modified
+
val binarySearchByU : 'a array -> 'a -> ('a -> 'a -> int [@bs]) -> int
+val binarySearchBy : 'a array -> 'a -> ('a -> 'a -> int) -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
+binarySearchBy [|1;2;3;4;33;35;36|] 33 = 4;; + lnot (binarySearchBy [|1;3;5;7|] 4) = 2;; +
module Belt_internalMapInt:sig
..end
type+key =
int
module N: Belt_internalAVLtree
module A: Belt_Array
module S: Belt_SortArray
type+'a
t =(key, 'a) N.t
val add : (key, 'a) N.t ->
key -> 'a -> (key, 'a) N.t
+val get : (key, 'a) N.t -> key -> 'a option
+val getUndefined : (key, 'a) N.t ->
key -> 'a Js.Undefined.t
+val getExn : (key, 'a) N.t -> key -> 'a
+val getWithDefault : (key, 'a) N.t -> key -> 'a -> 'a
+val has : (key, 'a) N.t -> key -> bool
+val remove : (key, 'a) N.t ->
key -> (key, 'a) N.t
+val splitAux : key ->
(key, 'a) N.node ->
'a t * 'a option * 'a t
+val split : key ->
(key, 'a) N.node Js.null ->
(key, 'a) N.t * 'a option *
(key, 'a) N.t
+val mergeU : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
(key, 'c) N.t
+val merge : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option) ->
(key, 'c) N.t
+val compareAux : (key, 'a) N.node list ->
(key, 'b) N.node list -> ('a -> 'b -> int [@bs]) -> int
+val cmpU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int [@bs]) -> int
+val cmp : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int) -> int
+val eqAux : (key, 'a) N.node list ->
(key, 'b) N.node list -> ('a -> 'b -> bool [@bs]) -> bool
+val eqU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool [@bs]) -> bool
+val eq : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool) -> bool
+val addMutate : 'a t ->
key -> 'a -> 'a t
+val ofArray : (key * 'a) array -> (key, 'a) N.t
\ No newline at end of file
diff --git a/docs/api/Belt_internalMapString.A.html b/docs/api/Belt_internalMapString.A.html
new file mode 100644
index 0000000000..bee79c4c75
--- /dev/null
+++ b/docs/api/Belt_internalMapString.A.html
@@ -0,0 +1,648 @@
+
+
+
+
+
+
+
+
+
+
+ module A: Belt_Array
val length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module N: Belt_internalAVLtree
include ??
+
+val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : ('a, 'b) t
type+('k, 'id)
cmp =('k, 'id) Belt_Id.cmp
val copy : ('k, 'v) t -> ('k, 'v) t
+val create : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val bal : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val singleton : 'a -> 'b -> ('a, 'b) t
+val updateValue : ('k, 'v) node -> 'v -> ('k, 'v) node
+val minKey : ('a, 'b) t -> 'a option
+val minKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val maxKey : ('a, 'b) t -> 'a option
+val maxKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+val minimum : ('a, 'b) t -> ('a * 'b) option
+val minUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val maximum : ('a, 'b) t -> ('a * 'b) option
+val maxUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+val removeMinAuxWithRef : ('a, 'b) node -> 'a Pervasives.ref -> 'b Pervasives.ref -> ('a, 'b) t
+val empty : ('a, 'b) t
+val isEmpty : ('a, 'b) t -> bool
+val stackAllLeft : ('a, 'b) t -> ('a, 'b) node list -> ('a, 'b) node list
+val forEachU : ('a, 'b) t -> ('a -> 'b -> unit [@bs]) -> unit
+val forEach : ('a, 'b) t -> ('a -> 'b -> unit) -> unit
+val mapU : ('c, 'a) t -> ('a -> 'b [@bs]) -> ('c, 'b) t
+val map : ('c, 'a) t -> ('a -> 'b) -> ('c, 'b) t
+val mapWithKeyU : ('a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> ('a, 'c) t
+val mapWithKey : ('a, 'b) t -> ('a -> 'b -> 'c) -> ('a, 'c) t
+val reduceU : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduce : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+val everyU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val every : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val someU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+val some : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+val join : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
+val concatOrJoin : ('a, 'b) t -> 'a -> 'b option -> ('a, 'b) t -> ('a, 'b) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t
+ : val keepMapU : ('a, 'b) t -> ('a -> 'b -> 'c option [@bs]) -> ('a, 'c) t
+val keepMap : ('a, 'b) t -> ('a -> 'b -> 'c option) -> ('a, 'c) t
+('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t * ('a, 'b) t
+ : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t * ('a, 'b) t
+ : val lengthNode : ('a, 'b) node -> int
+val size : ('a, 'b) t -> int
+val toList : ('a, 'b) t -> ('a * 'b) list
+val checkInvariantInternal : ('a, 'b) t -> unit
val fillArray : ('a, 'b) node -> int -> ('a * 'b) array -> int
+val toArray : ('a, 'b) t -> ('a * 'b) array
+val keysToArray : ('a, 'b) t -> 'a array
+val valuesToArray : ('a, 'b) t -> 'b array
+val ofSortedArrayAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayRevAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+val ofSortedArrayUnsafe : ('a * 'b) array -> ('a, 'b) t
+val cmpU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int [@bs]) -> int
+val cmp : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> vcmp:('b -> 'c -> int) -> int
+val eqU : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp ->
veq:('b -> 'c -> bool [@bs]) -> bool
+val eq : ('a, 'b) t ->
('a, 'c) t ->
kcmp:('a, 'd) cmp -> veq:('b -> 'c -> bool) -> bool
+val get : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b option
+val getUndefined : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b Js.undefined
+val getWithDefault : ('a, 'b) t -> 'a -> 'b -> cmp:('a, 'c) cmp -> 'b
+val getExn : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> 'b
+val has : ('a, 'b) t -> 'a -> cmp:('a, 'c) cmp -> bool
+val ofArray : ('a * 'b) array -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val updateMutate : ('a, 'b) t ->
'a -> 'b -> cmp:('a, 'id) cmp -> ('a, 'b) t
+val balMutate : ('a, 'b) node -> ('a, 'b) node
+val removeMinAuxWithRootMutate : ('a, 'b) node -> ('a, 'b) node -> ('a, 'b) t
\ No newline at end of file
diff --git a/docs/api/Belt_internalMapString.S.html b/docs/api/Belt_internalMapString.S.html
new file mode 100644
index 0000000000..005afd4938
--- /dev/null
+++ b/docs/api/Belt_internalMapString.S.html
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+ module S: Belt_SortArray
module Int: Belt_SortArrayInt
int
, more efficient
+ than the gerneic typemodule String: Belt_SortArrayString
string
, more efficient
+ than the gerneic typeval strictlySortedLengthU : 'a array -> ('a -> 'a -> bool [@bs]) -> int
+val strictlySortedLength : 'a array -> ('a -> 'a -> bool) -> int
strictlySortedLenght xs cmp
+ return +n
means increasing order
+ -n
means negative order+strictlySortedLength [|1;2;3;4;3|] (fun x y -> x < y) = 4;; + strictlySortedLength [||] (fun x y -> x < y) = 0;; + strictlySortedLength [|1|] (fun x y -> x < y) = 1;; + strictlySortedLength [|4;3;2;1|] (fun x y -> x < y) = -4;; +
val isSortedU : 'a array -> ('a -> 'a -> int [@bs]) -> bool
+val isSorted : 'a array -> ('a -> 'a -> int) -> bool
isSorted arr cmp
+isSorted [|1;1;2;3;4|] (fun x y -> compare x y)) = true +
val stableSortInPlaceByU : 'a array -> ('a -> 'a -> int [@bs]) -> unit
+val stableSortInPlaceBy : 'a array -> ('a -> 'a -> int) -> unit
stableSortBy xs cmp
+
+
+ Sort xs in place using comparator cmp
, the stable means if the elements
+ are equal, their order will be preserved
+
+
val stableSortByU : 'a array -> ('a -> 'a -> int [@bs]) -> 'a array
+val stableSortBy : 'a array -> ('a -> 'a -> int) -> 'a array
stableSort xs cmp
+
+ The same as Belt_SortArray.stableSortInPlaceBy
except that xs
is not modified
+
val binarySearchByU : 'a array -> 'a -> ('a -> 'a -> int [@bs]) -> int
+val binarySearchBy : 'a array -> 'a -> ('a -> 'a -> int) -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
+binarySearchBy [|1;2;3;4;33;35;36|] 33 = 4;; + lnot (binarySearchBy [|1;3;5;7|] 4) = 2;; +
module Belt_internalMapString:sig
..end
type+key =
string
module N: Belt_internalAVLtree
module A: Belt_Array
module S: Belt_SortArray
type+'a
t =(key, 'a) N.t
val add : (key, 'a) N.t ->
key -> 'a -> (key, 'a) N.t
+val get : (key, 'a) N.t ->
key -> 'a option
+val getUndefined : (key, 'a) N.t ->
key -> 'a Js.Undefined.t
+val getExn : (key, 'a) N.t -> key -> 'a
+val getWithDefault : (key, 'a) N.t ->
key -> 'a -> 'a
+val has : (key, 'a) N.t -> key -> bool
+val remove : (key, 'a) N.t ->
key -> (key, 'a) N.t
+val splitAux : key ->
(key, 'a) N.node ->
'a t * 'a option * 'a t
+val split : key ->
(key, 'a) N.node Js.null ->
(key, 'a) N.t * 'a option *
(key, 'a) N.t
+val mergeU : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option [@bs]) ->
(key, 'c) N.t
+val merge : (key, 'a) N.t ->
(key, 'b) N.t ->
(key -> 'a option -> 'b option -> 'c option) ->
(key, 'c) N.t
+val compareAux : (key, 'a) N.node list ->
(key, 'b) N.node list ->
('a -> 'b -> int [@bs]) -> int
+val cmpU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int [@bs]) -> int
+val cmp : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> int) -> int
+val eqAux : (key, 'a) N.node list ->
(key, 'b) N.node list ->
('a -> 'b -> bool [@bs]) -> bool
+val eqU : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool [@bs]) -> bool
+val eq : (key, 'a) N.t ->
(key, 'b) N.t -> ('a -> 'b -> bool) -> bool
+val addMutate : 'a t ->
key -> 'a -> 'a t
+val ofArray : (key * 'a) array ->
(key, 'a) N.t
\ No newline at end of file
diff --git a/docs/api/Belt_internalMutableAVLMap.html b/docs/api/Belt_internalMutableAVLMap.html
new file mode 100644
index 0000000000..914a0a0e2a
--- /dev/null
+++ b/docs/api/Belt_internalMutableAVLMap.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_internalMutableAVLMap:sig
..end
module C: Belt_internalBucketsType
type+'a
opt ='a Js.undefined
include ??
+
+val toOpt : 'a opt -> 'a option
+val return : 'a -> 'a opt
+val emptyOpt : 'a Js.undefined
+val make : hash:'hash -> eq:'eq -> hintSize:int -> ('hash, 'eq, 'a) container
+val clear : ('a, 'b, 'c) container -> unit
+val isEmpty : ('a, 'b, 'c) container -> bool
\ No newline at end of file
diff --git a/docs/api/Belt_internalSetBuckets.html b/docs/api/Belt_internalSetBuckets.html
new file mode 100644
index 0000000000..cd3a234474
--- /dev/null
+++ b/docs/api/Belt_internalSetBuckets.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+ module Belt_internalSetBuckets:sig
..end
module C: Belt_internalBucketsType
include ??
+
+val copy : ('hash, 'eq, 'a) t -> ('hash, 'eq, 'a) t
+val forEachU : ('hash, 'eq, 'a) t -> ('a -> unit [@bs]) -> unit
+val forEach : ('hash, 'eq, 'a) t -> ('a -> unit) -> unit
+val fillArray : int -> 'a array -> 'a bucket -> int
+val toArray : ('b, 'c, 'a) t -> 'a array
+val reduceU : ('c, 'd, 'a) t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : ('c, 'd, 'a) t -> 'b -> ('b -> 'a -> 'b) -> 'b
+val logStats : ('a, 'b, 'c) t -> unit
+val getBucketHistogram : ('a, 'b, 'c) t -> int array
\ No newline at end of file
diff --git a/docs/api/Belt_internalSetInt.A.html b/docs/api/Belt_internalSetInt.A.html
new file mode 100644
index 0000000000..1f8c1d89e3
--- /dev/null
+++ b/docs/api/Belt_internalSetInt.A.html
@@ -0,0 +1,647 @@
+
+
+
+
+
+
+
+
+
+
+ module A: Belt_Array
val length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module N: Belt_internalAVLset
include ??
+type+('a, 'b)
cmp =('a, 'b) Belt_Id.cmp
val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : 'a t
+val copy : 'a t -> 'a t
+val create : 'a t -> 'a -> 'a t -> 'a t
+val bal : 'a t -> 'a -> 'a t -> 'a t
+val singleton : 'a -> 'a t
+val minimum : 'a t -> 'a option
+val minUndefined : 'a t -> 'a Js.undefined
+val maximum : 'a t -> 'a option
+val maxUndefined : 'a t -> 'a Js.undefined
+val removeMinAuxWithRef : 'a node -> 'a Pervasives.ref -> 'a t
+val empty : 'a t
+val isEmpty : 'a t -> bool
+val stackAllLeft : 'a t -> 'a node list -> 'a node list
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
+val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
+val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+val every : 'a t -> ('a -> bool) -> bool
+val someU : 'a t -> ('a -> bool [@bs]) -> bool
+val some : 'a t -> ('a -> bool) -> bool
+'a t -> 'a -> 'a t -> 'a t
+ : 'a t -> 'a t -> 'a t
+ : 'a t -> ('a -> bool [@bs]) -> 'a t
+ : 'a t -> ('a -> bool) -> 'a t
+ : val keepCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t
+val keepCopy : 'a t -> ('a -> bool) -> 'a t
+'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+ : 'a t -> ('a -> bool) -> 'a t * 'a t
+ : val partitionCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+val partitionCopy : 'a t -> ('a -> bool) -> 'a t * 'a t
+val lengthNode : 'a node -> int
+val size : 'a t -> int
+val toList : 'a t -> 'a list
+val checkInvariantInternal : 'a t -> unit
val fillArray : 'a node -> int -> 'a array -> int
+val toArray : 'a t -> 'a array
+val ofSortedArrayAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayRevAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayUnsafe : 'a array -> 'a t
+val has : 'a t -> 'a -> cmp:('a, 'b) cmp -> bool
+val cmp : 'a t -> 'a t -> cmp:('a, 'b) cmp -> int
+val eq : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val subset : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val get : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a option
+val getUndefined : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a Js.undefined
+val getExn : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a
+val ofArray : 'a array -> cmp:('a, 'b) cmp -> 'a t
+val addMutate : cmp:('a, 'b) cmp -> 'a t -> 'a -> 'a t
+val balMutate : 'a node -> 'a node
+val removeMinAuxWithRootMutate : 'a node -> 'a node -> 'a t
\ No newline at end of file
diff --git a/docs/api/Belt_internalSetInt.S.html b/docs/api/Belt_internalSetInt.S.html
new file mode 100644
index 0000000000..dd300c4f4d
--- /dev/null
+++ b/docs/api/Belt_internalSetInt.S.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+ module S: Belt_SortArrayInt
type+element =
int
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module Belt_internalSetInt:sig
..end
type+elt =
int
module S: Belt_SortArrayInt
module N: Belt_internalAVLset
module A: Belt_Array
type+t =
elt N.t
val has : t -> elt -> bool
+val compareAux : elt N.node list ->
elt N.node list -> int
+val cmp : elt N.t -> elt N.t -> int
+val eq : t -> elt N.t -> bool
+val subset : t -> t -> bool
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.Undefined.t
+val getExn : t -> elt -> elt
+val addMutate : elt N.t ->
elt -> elt N.t
+val ofArray : elt array -> elt N.t
\ No newline at end of file
diff --git a/docs/api/Belt_internalSetString.A.html b/docs/api/Belt_internalSetString.A.html
new file mode 100644
index 0000000000..beb21d4198
--- /dev/null
+++ b/docs/api/Belt_internalSetString.A.html
@@ -0,0 +1,647 @@
+
+
+
+
+
+
+
+
+
+
+ module A: Belt_Array
val length : 'a array -> int
length xs
return the size of the arrayval size : 'a array -> int
Belt_Array.length
val get : 'a array -> int -> 'a option
+val getExn : 'a array -> int -> 'a
getExn arr i
+
+
+ raise an exception if i
is out of range
+
+
val getUnsafe : 'a array -> int -> 'a
getUnasfe arr i
++ + Unsafe +
+
+ no bounds checking, this would cause type error
+ if i
does not stay within range
+
+
val getUndefined : 'a array -> int -> 'a Js.undefined
getUndefined arr i
+
+
+ It does the samething in the runtime as Belt_Array.getUnsafe
,
+ it is type safe since the return type still track whether it is
+ in range or not
+
+
val set : 'a array -> int -> 'a -> bool
set arr n x
modifies arr
in place,
+ it replaces the nth element of arr
with x
val setExn : 'a array -> int -> 'a -> unit
setExn arr i x
+ raise an exception if i
is out of rangeval setUnsafe : 'a array -> int -> 'a -> unit
+val shuffleInPlace : 'a array -> unit
+val shuffle : 'a array -> 'a array
shuffle xs
val reverseInPlace : 'a array -> unit
+val reverse : 'a array -> 'a array
reverse x
val makeUninitialized : int -> 'a Js.undefined array
+val makeUninitializedUnsafe : int -> 'a array
makeUninitializedUnsafe n
+
+
+ Unsafe
+
+
val make : int -> 'a -> 'a array
make n e
+ return an array of size n
filled with value e
n
is negative.val range : int -> int -> int array
range start finish
create an inclusive array+range 0 3 = [|0;1;2;3|];; + range 3 0 = [||] ;; + range 3 3 = [|3|];; +
val rangeBy : int -> int -> step:int -> int array
rangeBy start finish ~step
start > finish
+rangeBy 0 10 ~step:3 = [|0;3;6;9|];; + rangeBy 0 12 ~step:3 = [|0;3;6;9;12|];; + rangeBy 33 0 ~step:1 = [||];; + rangeBy 33 0 ~step:(-1) = [||];; + rangeBy 3 12 ~step:(-1) = [||];; + rangeBy 3 3 ~step:0 = [||] ;; + rangeBy 3 3 ~step:(1) = [|3|] ;; +
val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+val makeBy : int -> (int -> 'a) -> 'a array
makeBy n f
+
+
+ return an empty array when n
is negative
+ return an array of size n
populated by f i
start from 0
to n - 1
+
+
+makeBy 5 (fun i -> i) = [|0;1;2;3;4|] +
val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+val makeByAndShuffle : int -> (int -> 'a) -> 'a array
makeByAndShuffle n f
+
+
+ Equivalent to shuffle (makeBy n f)
+
+
val zip : 'a array -> 'b array -> ('a * 'b) array
zip a b
+
+
+ Stop with the shorter array
+
+
+zip [|1;2] [|1;2;3|] = [| (1,2); (2;2)|] +
val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
zipBy xs ys f
++ + Stops with shorter array +
+
+ Equivalent to map (zip xs ys) (fun (a,b) -> f a b)
+
+
val concat : 'a array -> 'a array -> 'a array
concat xs ys
v1
and v2
, so even if v1
or v2
+ is empty, it can not be sharedval concatMany : 'a array array -> 'a array
concatMany xss
xss
val slice : 'a array -> offset:int -> len:int -> 'a array
slice arr offset len
+
+
+ offset
can be negative,
+ slice arr -1 1
means get the last element as a singleton array
+
+
+ slice arr -(very_large_index) len
will do a copy of the array
+
+
+ if the array does not have enough data, slice
extracts through
+ the end of sequence
+
+
val copy : 'a array -> 'a array
copy a
a
, that is, a fresh array
+ containing the same elements as a
.val fill : 'a array -> offset:int -> len:int -> 'a -> unit
fill arr ~offset ~len x
+
+
+ Modifies arr
in place,
+ storing x
in elements number offset
to offset + len - 1
.
+
+
+ offset
can be negative
+
+
+ fill arr offset:(-1) len:1
means fill the last element,
+ if the array does not have enough data, fill
will ignore it
+
+
+let arr = makeBy 5 (fun i -> i) ;; + fill arr ~offset:2 ~len:2 0 ;; + arr = [|0;1;0;0;4|];; +
val blit : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
blit ~src:v1 ~srcOffset:o1 ~dst:v2 ~dstOffset:o2 ~len
+
+
+ copies len
elements
+ from array v1
, starting at element number o1
, to array v2
,
+ starting at element number o2
.
+
+
+ It works correctly even if
+ v1
and v2
are the same array, and the source and
+ destination chunks overlap.
+
+
+ offset
can be negative, -1
means len - 1
, if len + offset
is still
+ negative, it will be set as 0
+
+
val blitUnsafe : src:'a array ->
srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+val forEach : 'a array -> ('a -> unit) -> unit
forEach xs f
+
+
+ Call f on each element of xs
from the beginning to end
+
+
val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+val map : 'a array -> ('a -> 'b) -> 'b array
map xs f
f
to element of xs
from
+ the beginning to endval keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+val keep : 'a array -> ('a -> bool) -> 'a array
keep xs p
p
+keep [|1;2;3|] (fun x -> x mod 2 = 0) = [|2|] +
val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+val keepMap : 'a array -> ('a -> 'b option) -> 'b array
keepMap xs p
p
+keepMap [|1;2;3|] (fun x -> if x mod 2 then Some x else None) + = [| 2 |] +
val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
forEachWithIndex xs f
+
+
+ The same with Belt_Array.forEach
, except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
mapWithIndex xs f
+
+
+ The same with Belt_Array.map
except that f
is supplied with one
+ more argument: the index starting from 0
+
+
val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduce xs init f
+reduce [|2;3;4|] 1 (+) = 10 +
val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
reduceReverse xs init f
+reduceReverse [|1;2;3;4|] 100 (-) = 90 +
val reduceReverse2U : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+val reduceReverse2 : 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+reduceReverse2 [|1;2;3|] [|1;2|] 0 (fun acc x y -> acc + x + y) = 6 +
val someU : 'a array -> ('a -> bool [@bs]) -> bool
+val some : 'a array -> ('a -> bool) -> bool
some xs p
p
val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+val every : 'a array -> ('a -> bool) -> bool
every xs p
p
val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
every2 xs ys p
only tests the length of shorter+every2 [|1;2;3|] [|0;1|] (>) = true;; + (every2 [||] [|1|] (fun x y -> x > y)) = true;; + (every2 [|2;3|] [|1|] (fun x y -> x > y)) = true;; +
val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
some2 xs ys p
only tests the length of shorter+some2 [|0;2|] [|1;0;3|] (>) = true ;; + (some2 [||] [|1|] (fun x y -> x > y)) = false;; + (some2 [|2;3|] [|1;4|] (fun x y -> x > y)) = true;; +
val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
cmp a b
++
length a <> length b
f ai bi
val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
eq a b
++
f ai bi
val truncateToLengthUnsafe : 'a array -> int -> unit
module N: Belt_internalAVLset
include ??
+type+('a, 'b)
cmp =('a, 'b) Belt_Id.cmp
val toOpt : 'a Js.null -> 'a option
+val return : 'a -> 'a Js.null
+val empty : 'a t
+val copy : 'a t -> 'a t
+val create : 'a t -> 'a -> 'a t -> 'a t
+val bal : 'a t -> 'a -> 'a t -> 'a t
+val singleton : 'a -> 'a t
+val minimum : 'a t -> 'a option
+val minUndefined : 'a t -> 'a Js.undefined
+val maximum : 'a t -> 'a option
+val maxUndefined : 'a t -> 'a Js.undefined
+val removeMinAuxWithRef : 'a node -> 'a Pervasives.ref -> 'a t
+val empty : 'a t
+val isEmpty : 'a t -> bool
+val stackAllLeft : 'a t -> 'a node list -> 'a node list
+val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+val forEach : 'a t -> ('a -> unit) -> unit
+val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
+val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+val every : 'a t -> ('a -> bool) -> bool
+val someU : 'a t -> ('a -> bool [@bs]) -> bool
+val some : 'a t -> ('a -> bool) -> bool
+'a t -> 'a -> 'a t -> 'a t
+ : 'a t -> 'a t -> 'a t
+ : 'a t -> ('a -> bool [@bs]) -> 'a t
+ : 'a t -> ('a -> bool) -> 'a t
+ : val keepCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t
+val keepCopy : 'a t -> ('a -> bool) -> 'a t
+'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+ : 'a t -> ('a -> bool) -> 'a t * 'a t
+ : val partitionCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+val partitionCopy : 'a t -> ('a -> bool) -> 'a t * 'a t
+val lengthNode : 'a node -> int
+val size : 'a t -> int
+val toList : 'a t -> 'a list
+val checkInvariantInternal : 'a t -> unit
val fillArray : 'a node -> int -> 'a array -> int
+val toArray : 'a t -> 'a array
+val ofSortedArrayAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayRevAux : 'a array -> int -> int -> 'a t
+val ofSortedArrayUnsafe : 'a array -> 'a t
+val has : 'a t -> 'a -> cmp:('a, 'b) cmp -> bool
+val cmp : 'a t -> 'a t -> cmp:('a, 'b) cmp -> int
+val eq : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val subset : 'a t -> 'a t -> cmp:('a, 'b) cmp -> bool
+val get : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a option
+val getUndefined : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a Js.undefined
+val getExn : 'a t -> 'a -> cmp:('a, 'b) cmp -> 'a
+val ofArray : 'a array -> cmp:('a, 'b) cmp -> 'a t
+val addMutate : cmp:('a, 'b) cmp -> 'a t -> 'a -> 'a t
+val balMutate : 'a node -> 'a node
+val removeMinAuxWithRootMutate : 'a node -> 'a node -> 'a t
\ No newline at end of file
diff --git a/docs/api/Belt_internalSetString.S.html b/docs/api/Belt_internalSetString.S.html
new file mode 100644
index 0000000000..183e4ee00d
--- /dev/null
+++ b/docs/api/Belt_internalSetString.S.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+ module S: Belt_SortArrayString
type+element =
string
val strictlySortedLength : element array -> int
Belt_SortArray.strictlySortedLength
except the comparator is fixed+n
means increasing order -n
means negative orderval isSorted : element array -> bool
sorted xs
return true if xs
is in non strict increasing orderval stableSortInPlace : element array -> unit
Belt_SortArray.stableSortInPlaceBy
except the comparator is fixedval stableSort : element array -> element array
Belt_SortArray.stableSortBy
except the comparator is fixedval binarySearch : element array -> element -> int
+ + If value is not found and value is greater than all elements in array, + the negative number returned is the bitwise complement of + (the index of the last element plus 1) +
+
+ for example, if key
is smaller than all elements return -1
since lnot (-1) = 0
+ if key
is larger than all elements return - (len + 1)
since lnot (-(len+1)) = len
+
+
module Belt_internalSetString:sig
..end
type+elt =
string
module S: Belt_SortArrayString
module N: Belt_internalAVLset
module A: Belt_Array
type+t =
elt N.t
val has : t -> elt -> bool
+val compareAux : elt N.node list ->
elt N.node list -> int
+val cmp : elt N.t -> elt N.t -> int
+val eq : t -> elt N.t -> bool
+val subset : t -> t -> bool
+val get : t ->
elt -> elt option
+val getUndefined : t ->
elt -> elt Js.Undefined.t
+val getExn : t ->
elt -> elt
+val addMutate : elt N.t ->
elt -> elt N.t
+val ofArray : elt array -> elt N.t
\ No newline at end of file
diff --git a/docs/api/Js.Console.html b/docs/api/Js.Console.html
new file mode 100644
index 0000000000..d2c994ac60
--- /dev/null
+++ b/docs/api/Js.Console.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+ module Console: Js_console
val log : 'a -> unit
+val warn : 'a -> unit
+val timeStart : string -> unit
+val timeEnd : string -> unit
\ No newline at end of file
diff --git a/docs/api/Js_console.html b/docs/api/Js_console.html
new file mode 100644
index 0000000000..8038d5d876
--- /dev/null
+++ b/docs/api/Js_console.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+ module Js_console:sig
..end
val log : 'a -> unit
+val warn : 'a -> unit
+val timeStart : string -> unit
+val timeEnd : string -> unit
\ No newline at end of file
diff --git a/docs/api/Js_mapperRt.html b/docs/api/Js_mapperRt.html
new file mode 100644
index 0000000000..121e619259
--- /dev/null
+++ b/docs/api/Js_mapperRt.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+ module Js_mapperRt:sig
..end
serach polyvar assocArray
+ Search hashvariant of polyvar
to get the returned string,
+ assume that polvar
exists in the arrayval binarySearch : int -> int -> (int * 'a) array -> 'a
+val revSearch : int -> (int * string) array -> string -> int option
revSearch len assocArray value
+ Based on the value to find the associated key, i.e, polyvarval revSearchAssert : int -> (int * string) array -> string -> int
+val toInt : int -> int array -> int
toInt enum array
+ Based on the value of enum
, return its mapped intval fromInt : int -> int array -> int -> int option
fromInt len array int
+ return the mapped enum
val fromIntAssert : int -> int array -> int -> int
length
is not relevant any more-
val forEach : 'a t -> ('a -> unit) -> unit
+ val forEach : 'a t -> ('a -> unit) -> unit
val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
- In general, uncurried version will be faster, but it is less familiar to
+ In general, uncurried version will be faster, but it may be less familiar to
people who have a background in functional programming.
@@ -791,7 +791,7 @@
Index of modules
and identity is not needed(using the built-in one)
- See Belt.MutableSet
+ See Belt.Set
@@ -803,7 +803,7 @@
Index of modules
and identity is not needed(using the built-in one)
- See Belt.MutableSet
+ See Belt.Set
@@ -833,13 +833,14 @@
Index of modules
Belt_internalAVLset
-
+ raise when invariant is not helld
+
Belt_internalAVLtree
- Almost rewritten by authors of BuckleScript
+ raise when invariant is not helld
@@ -956,7 +957,10 @@ Index of modules
This module seprate identity from data, it is a bit more verbsoe but slightly
more efficient due to the fact that there is no need to pack identity and data back
- after each operation
+ after each operation
+
+
+ Advanced usage only
@@ -1454,6 +1458,8 @@ Syntax sugar
It also has three specialized inner modules
Belt.Map.Int
and Belt.Map.String
+
+
Belt.Map.Dict
: This module separate date from function
which is more verbbose but slightly more efficient
@@ -1711,8 +1717,10 @@
Syntax sugar
It also has three specialized inner modules
Belt.Set.Int
and Belt.Set.String
+
+
Belt.Set.Dict
: This module separate date from function
- which is more verbbose but slightly more efficient
+ which is more verbbose but slightly more efficient
diff --git a/docs/api/index_types.html b/docs/api/index_types.html
index 75418e70a2..5059abb66f 100644
--- a/docs/api/index_types.html
+++ b/docs/api/index_types.html
@@ -850,7 +850,7 @@
Index of types
id [Belt_Set]
- The identity needed for making an empty set
+ The identity needed for making a set from scratch
diff --git a/docs/api/index_values.html b/docs/api/index_values.html
index c28411e8a1..218c8f9b32 100644
--- a/docs/api/index_values.html
+++ b/docs/api/index_values.html
@@ -789,97 +789,99 @@ Index of values
checkInvariantInternal [Belt_internalAVLtree]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_internalAVLset]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableMapString]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableMapInt]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableMap]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableSetString]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableSetInt]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MutableSet]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MapDict]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MapString]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_MapInt]
-
-
-
-checkInvariantInternal [Belt_Map]
-
-
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_SetDict]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_SetString]
-
+ raise when invariant is not helld
+
checkInvariantInternal [Belt_SetInt]
-
-
-
-checkInvariantInternal [Belt_Set]
-
-
-
+ raise when invariant is not helld
+
chownSync [Node_fs]
@@ -1110,7 +1112,14 @@ Index of values
cmp [Belt_Map]
-
+ cmp s0 s1 vcmp
+
+
+ Totoal ordering of map given total ordering of value function.
+
+
+ It will compare size first and each element following the order one by one.
+
cmp [Belt_SetDict]
@@ -1141,7 +1150,9 @@ Index of values
Total ordering between sets. Can be used as the ordering function
- for doing sets of sets.
+ for doing sets of sets.
+ It compare size
first and then iterate over
+ each element following the order of elements
@@ -1728,7 +1739,8 @@ Index of values
diff [Belt_Set]
-
+ diff s0 s1
+
dirname [Node_path]
@@ -2015,9 +2027,9 @@ Index of values
eq [Belt_Map]
- eq m1 m2 cmp
tests whether the maps m1
and m2
are
+ eq m1 m2 veq
tests whether the maps m1
and m2
are
equal, that is, contain equal keys and associate them with
- equal data. cmp
is the equality predicate used to compare
+ equal data. veq
is the equality predicate used to compare
the data associated with the keys.
@@ -2047,7 +2059,8 @@ Index of values
eq [Belt_Set]
-
+ eq s0 s1
+
eq [Belt_List]
@@ -2331,7 +2344,7 @@ Index of values
every p s
checks if all elements of the set
- satisfy the predicate p
. Order unspecified
+ satisfy the predicate p
. Order unspecified.
@@ -4155,7 +4168,8 @@ Index of values
get [Belt_Map]
-
+ get s k
+
get [Belt_SetDict]
@@ -4179,7 +4193,8 @@ Index of values
get [Belt_Set]
-
+ get s0 k
+
get [Belt_List]
@@ -4279,13 +4294,21 @@ Index of values
getData [Belt_Map]
-
+ getData s0
+
+
+ Advanced usage only
+
getData [Belt_Set]
-
+ getData s0
+
+
+ Advanced usage only
+
getDate [Js_date]
@@ -4299,12 +4322,6 @@ Index of values
return the day of the month (1-31)
-
-
-getDict [Belt_Set]
-
-
-
getExn [Js_option]
@@ -4418,7 +4435,14 @@ Index of values
getExn [Belt_Map]
getExn [Belt_SetDict]
@@ -4442,7 +4466,11 @@ Index of values
getExn [Belt_Set]
-
+ See Belt_Set.get
+
+
+ raise if not exist
+
getExn [Belt_List]
@@ -4508,7 +4536,21 @@ Index of values
getId [Belt_Map]
-
+ getId s0
+
+
+ Advanced usage only
+
+
+
+getId [Belt_Set]
+
+
+ getId s0
+
+
+ Advanced usage only
+
getInt16 [Js_typed_array.DataView]
@@ -4759,7 +4801,8 @@ Index of values
getUndefined [Belt_Map]
-
+ See Belt_Map.get
+
getUndefined [Belt_SetDict]
@@ -4783,7 +4826,8 @@ Index of values
getUndefined [Belt_Set]
-
+ See Belt_Set.get
+
getUndefined [Belt_Array]
@@ -4887,7 +4931,11 @@ Index of values
getWithDefault [Belt_Map]
-
+ getWithDefault s k default
+
+
+ See Belt_Map.get
+
getYear [Js_date]
@@ -5034,7 +5082,8 @@ Index of values
has [Belt_Map]
-
+ has s k
+
has [Belt_SetDict]
@@ -5301,7 +5350,8 @@ Index of values
intersect [Belt_Set]
-
+ intersect s0 s1
+
isAbsolute [Node_path]
@@ -5440,7 +5490,8 @@ Index of values
isEmpty [Belt_Map]
-
+ isEmpty s0
+
isEmpty [Belt_SetDict]
@@ -6052,7 +6103,8 @@ Index of values
keysToArray [Belt_Map]
-
+ keysToArray s
+
L
@@ -6954,7 +7006,11 @@ Index of values
mapWithKey [Belt_Map]
-
+ mapWithKey m f
+
+
+ The same as Belt_Map.map
except that f
is supplied with one more argument: the key
+
mapWithKeyU [Belt_internalAVLtree]
@@ -7092,7 +7148,8 @@ Index of values
maxKey [Belt_Map]
-
+ maxKey s
+
maxKeyUndefined [Belt_internalAVLtree]
@@ -7140,7 +7197,8 @@ Index of values
maxKeyUndefined [Belt_Map]
-
+ See Belt_Map.maxKey
+
maxMany_float [Js_math]
@@ -7226,7 +7284,8 @@ Index of values
maxUndefined [Belt_Map]
-
+ See Belt_Map.maximum
+
maxUndefined [Belt_SetDict]
@@ -7250,7 +7309,8 @@ Index of values
maxUndefined [Belt_Set]
-
+ maxUndefined s0
+
max_float [Js_math]
@@ -7336,7 +7396,8 @@ Index of values
maximum [Belt_Map]
-
+ maximum s
+
maximum [Belt_SetDict]
@@ -7360,7 +7421,8 @@ Index of values
maximum [Belt_Set]
-
+ maximum s0
+
memByRef [Js_vector]
@@ -7496,7 +7558,13 @@ Index of values
mergeMany [Belt_Map]
-
+ mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
mergeMany [Belt_SetDict]
@@ -7520,7 +7588,13 @@ Index of values
mergeMany [Belt_Set]
-
+ mergeMany s xs
+
+
+ Adding each of xs
to s
, note unlike Belt_Set.add
,
+ the reference of return value might be changed even if all values in xs
+ exist s
+
mergeU [Belt_internalMapString]
@@ -7676,7 +7750,8 @@ Index of values
minKey [Belt_Map]
-
+ minKey s
+
minKeyUndefined [Belt_internalAVLtree]
@@ -7724,7 +7799,8 @@ Index of values
minKeyUndefined [Belt_Map]
-
+ See Belt_Map.minKey
+
minMany_float [Js_math]
@@ -7810,7 +7886,8 @@ Index of values
minUndefined [Belt_Map]
-
+ See Belt_Map.minimum
+
minUndefined [Belt_SetDict]
@@ -7834,7 +7911,8 @@ Index of values
minUndefined [Belt_Set]
-
+ minUndefined s0
+
min_float [Js_math]
@@ -7920,7 +7998,8 @@ Index of values
minimum [Belt_Map]
-
+ minimum s
+
minimum [Belt_SetDict]
@@ -7944,7 +8023,8 @@ Index of values
minimum [Belt_Set]
-
+ minimum s0
+
module_ [Node_module]
@@ -8195,7 +8275,8 @@ Index of values
ofArray [Belt_Map]
-
+ ofArray kvs ~id
+
ofArray [Belt_SetDict]
@@ -8219,7 +8300,8 @@ Index of values
ofArray [Belt_Set]
-
+ ofArray xs ~id
+
ofArray [Belt_List]
@@ -8313,10 +8395,10 @@ Index of values
ofSortedArrayUnsafe xs ~id
- The same as Belt_Set.ofArray
except it is after assuming the array is already sorted
+ The same as Belt_Set.ofArray
except it is after assuming the input array x
is already sorted
- unsafe assuming the input is sorted
+ Unsafe
@@ -8375,16 +8457,24 @@ Index of values
P
-packDictData [Belt_Set]
+packIdData [Belt_Map]
-
+ packIdData ~id ~data
+
+
+ Advanced usage only
+
-packIdData [Belt_Map]
+packIdData [Belt_Set]
-
+ packIdData ~id ~data
+
+
+ Advanced usage only
+
parse [Node_path]
@@ -9495,7 +9585,7 @@ Index of values
remove [Belt_Map]
- remove m x
when x
is not in m
, m
is returned reference unchanged
+ remove m x
when x
is not in m
, m
is returned reference unchanged.
@@ -9634,7 +9724,13 @@ Index of values
removeMany [Belt_Map]
-
+ removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Map.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
removeMany [Belt_SetDict]
@@ -9658,7 +9754,13 @@ Index of values
removeMany [Belt_Set]
-
+ removeMany s xs
+
+
+ Removing each of xs
to s
, note unlike Belt_Set.remove
,
+ the reference of return value might be changed even if none in xs
+ exists s
+
removeMinAuxWithRef [Belt_internalAVLtree]
@@ -10503,7 +10605,8 @@ Index of values
size [Belt_Map]
-
+ size s
+
size [Belt_SetDict]
@@ -10527,7 +10630,8 @@ Index of values
size [Belt_Set]
-
+ size s
+
size [Belt_List]
@@ -11097,7 +11201,7 @@ Index of values
split [Belt_Map]
- split x m
returns a triple (l, data, r)
, where
+ split x m
returns a tuple (l r), data
, where
l
is the map with all the bindings of m
whose 'k
is strictly less than x
;
r
is the map with all the bindings of m
whose 'k
@@ -11433,7 +11537,8 @@ Index of values
subset [Belt_Set]
-
+ subset s0 s1
+
substr [Js_string]
@@ -11716,7 +11821,8 @@ Index of values
toArray [Belt_Map]
-
+ toArray s
+
toArray [Belt_SetDict]
@@ -11740,7 +11846,8 @@ Index of values
toArray [Belt_Set]
-
+ toArray s0
+
toArray [Belt_List]
@@ -11953,7 +12060,10 @@ Index of values
toList [Belt_Map]
- In increasing order
+ In increasing order
+
+
+ See Belt_Map.toArray
@@ -11981,7 +12091,10 @@ Index of values
toList [Belt_Set]
- In increasing order
+ In increasing order
+
+
+ See Belt_Set.toArray
@@ -12436,7 +12549,8 @@ Index of values
union [Belt_Set]
-
+ union s0 s1
+
unlinkSync [Node_fs]
@@ -12655,7 +12769,14 @@ Index of values
update [Belt_Map]
-
+ update m x f
returns a map containing the same bindings as
+ m
, except for the binding of x
.
+ Depending on the value of
+ y
where y
is f (get x m)
, the binding of x
is
+ added, removed or updated. If y
is None
, the binding is
+ removed if it exists; otherwise, if y
is Some z
then x
+ is associated to z
in the resulting map.
+
updateMutate [Belt_internalAVLtree]
@@ -12833,7 +12954,8 @@ Index of values
valuesToArray [Belt_Map]
-
+ valuesToArray s
+
W
diff --git a/docs/api/type_Belt.Array.html b/docs/api/type_Belt.Array.html
new file mode 100644
index 0000000000..472645f5a6
--- /dev/null
+++ b/docs/api/type_Belt.Array.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.Array
+
+(module Belt_Array)
\ No newline at end of file
diff --git a/docs/api/type_Belt.HashMap.html b/docs/api/type_Belt.HashMap.html
new file mode 100644
index 0000000000..e59b3eaec4
--- /dev/null
+++ b/docs/api/type_Belt.HashMap.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.HashMap
+
+(module Belt_HashMap)
\ No newline at end of file
diff --git a/docs/api/type_Belt.HashSet.html b/docs/api/type_Belt.HashSet.html
new file mode 100644
index 0000000000..67c44d6af2
--- /dev/null
+++ b/docs/api/type_Belt.HashSet.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.HashSet
+
+(module Belt_HashSet)
\ No newline at end of file
diff --git a/docs/api/type_Belt.Id.html b/docs/api/type_Belt.Id.html
new file mode 100644
index 0000000000..db594bd379
--- /dev/null
+++ b/docs/api/type_Belt.Id.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.Id
+
+(module Belt_Id)
\ No newline at end of file
diff --git a/docs/api/type_Belt.List.html b/docs/api/type_Belt.List.html
new file mode 100644
index 0000000000..58ea26101e
--- /dev/null
+++ b/docs/api/type_Belt.List.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.List
+
+(module Belt_List)
\ No newline at end of file
diff --git a/docs/api/type_Belt.Map.html b/docs/api/type_Belt.Map.html
new file mode 100644
index 0000000000..eba02dd316
--- /dev/null
+++ b/docs/api/type_Belt.Map.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.Map
+
+(module Belt_Map)
\ No newline at end of file
diff --git a/docs/api/type_Belt.MutableMap.html b/docs/api/type_Belt.MutableMap.html
new file mode 100644
index 0000000000..18d09ae96d
--- /dev/null
+++ b/docs/api/type_Belt.MutableMap.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.MutableMap
+
+(module Belt_MutableMap)
\ No newline at end of file
diff --git a/docs/api/type_Belt.MutableQueue.html b/docs/api/type_Belt.MutableQueue.html
new file mode 100644
index 0000000000..c4b9d06241
--- /dev/null
+++ b/docs/api/type_Belt.MutableQueue.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.MutableQueue
+
+(module Belt_MutableQueue)
\ No newline at end of file
diff --git a/docs/api/type_Belt.MutableSet.html b/docs/api/type_Belt.MutableSet.html
new file mode 100644
index 0000000000..9fae38876d
--- /dev/null
+++ b/docs/api/type_Belt.MutableSet.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.MutableSet
+
+(module Belt_MutableSet)
\ No newline at end of file
diff --git a/docs/api/type_Belt.MutableStack.html b/docs/api/type_Belt.MutableStack.html
new file mode 100644
index 0000000000..7a24b874a4
--- /dev/null
+++ b/docs/api/type_Belt.MutableStack.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.MutableStack
+
+(module Belt_MutableStack)
\ No newline at end of file
diff --git a/docs/api/type_Belt.Range.html b/docs/api/type_Belt.Range.html
new file mode 100644
index 0000000000..92c2149d94
--- /dev/null
+++ b/docs/api/type_Belt.Range.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.Range
+
+(module Belt_Range)
\ No newline at end of file
diff --git a/docs/api/type_Belt.Set.html b/docs/api/type_Belt.Set.html
new file mode 100644
index 0000000000..36a74349c9
--- /dev/null
+++ b/docs/api/type_Belt.Set.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.Set
+
+(module Belt_Set)
\ No newline at end of file
diff --git a/docs/api/type_Belt.SortArray.html b/docs/api/type_Belt.SortArray.html
new file mode 100644
index 0000000000..3d6dadfb5e
--- /dev/null
+++ b/docs/api/type_Belt.SortArray.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt.SortArray
+
+(module Belt_SortArray)
\ No newline at end of file
diff --git a/docs/api/type_Belt.html b/docs/api/type_Belt.html
new file mode 100644
index 0000000000..b1ee74e80a
--- /dev/null
+++ b/docs/api/type_Belt.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Array.html b/docs/api/type_Belt_Array.html
new file mode 100644
index 0000000000..065aab4346
--- /dev/null
+++ b/docs/api/type_Belt_Array.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+ Belt_Array
+
+sig
+ external length : 'a array -> int = "%array_length"
+ external size : 'a array -> int = "%array_length"
+ val get : 'a array -> int -> 'a option
+ val getExn : 'a array -> int -> 'a
+ external getUnsafe : 'a array -> int -> 'a = "%array_unsafe_get"
+ external getUndefined : 'a array -> int -> 'a Js.undefined
+ = "%array_unsafe_get"
+ val set : 'a array -> int -> 'a -> bool
+ val setExn : 'a array -> int -> 'a -> unit
+ external setUnsafe : 'a array -> int -> 'a -> unit = "%array_unsafe_set"
+ val shuffleInPlace : 'a array -> unit
+ val shuffle : 'a array -> 'a array
+ val reverseInPlace : 'a array -> unit
+ val reverse : 'a array -> 'a array
+ external makeUninitialized : int -> 'a Js.undefined array = "Array"
+ "BS-EXTERNAL"
+ external makeUninitializedUnsafe : int -> 'a array = "Array" "BS-EXTERNAL"
+ val make : int -> 'a -> 'a array
+ val range : int -> int -> int array
+ val rangeBy : int -> int -> step:int -> int array
+ val makeByU : int -> (int -> 'a [@bs]) -> 'a array
+ val makeBy : int -> (int -> 'a) -> 'a array
+ val makeByAndShuffleU : int -> (int -> 'a [@bs]) -> 'a array
+ val makeByAndShuffle : int -> (int -> 'a) -> 'a array
+ val zip : 'a array -> 'b array -> ('a * 'b) array
+ val zipByU : 'a array -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
+ val zipBy : 'a array -> 'b array -> ('a -> 'b -> 'c) -> 'c array
+ val concat : 'a array -> 'a array -> 'a array
+ val concatMany : 'a array array -> 'a array
+ val slice : 'a array -> offset:int -> len:int -> 'a array
+ val copy : 'a array -> 'a array
+ val fill : 'a array -> offset:int -> len:int -> 'a -> unit
+ val blit :
+ src:'a array ->
+ srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
+ val blitUnsafe :
+ src:'a array ->
+ srcOffset:int -> dst:'a array -> dstOffset:int -> len:int -> unit
+ val forEachU : 'a array -> ('a -> unit [@bs]) -> unit
+ val forEach : 'a array -> ('a -> unit) -> unit
+ val mapU : 'a array -> ('a -> 'b [@bs]) -> 'b array
+ val map : 'a array -> ('a -> 'b) -> 'b array
+ val keepU : 'a array -> ('a -> bool [@bs]) -> 'a array
+ val keep : 'a array -> ('a -> bool) -> 'a array
+ val keepMapU : 'a array -> ('a -> 'b option [@bs]) -> 'b array
+ val keepMap : 'a array -> ('a -> 'b option) -> 'b array
+ val forEachWithIndexU : 'a array -> (int -> 'a -> unit [@bs]) -> unit
+ val forEachWithIndex : 'a array -> (int -> 'a -> unit) -> unit
+ val mapWithIndexU : 'a array -> (int -> 'a -> 'b [@bs]) -> 'b array
+ val mapWithIndex : 'a array -> (int -> 'a -> 'b) -> 'b array
+ val reduceU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+ val reduce : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
+ val reduceReverseU : 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
+ val reduceReverse : 'b array -> 'a -> ('a -> 'b -> 'a) -> 'a
+ val reduceReverse2U :
+ 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+ val reduceReverse2 :
+ 'a array -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+ val someU : 'a array -> ('a -> bool [@bs]) -> bool
+ val some : 'a array -> ('a -> bool) -> bool
+ val everyU : 'a array -> ('a -> bool [@bs]) -> bool
+ val every : 'a array -> ('a -> bool) -> bool
+ val every2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+ val every2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
+ val some2U : 'a array -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
+ val some2 : 'a array -> 'b array -> ('a -> 'b -> bool) -> bool
+ val cmpU : 'a array -> 'a array -> ('a -> 'a -> int [@bs]) -> int
+ val cmp : 'a array -> 'a array -> ('a -> 'a -> int) -> int
+ val eqU : 'a array -> 'a array -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq : 'a array -> 'a array -> ('a -> 'a -> bool) -> bool
+ external truncateToLengthUnsafe : 'a array -> int -> unit = "length"
+ "BS-EXTERNAL"
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashMap.Int.html b/docs/api/type_Belt_HashMap.Int.html
new file mode 100644
index 0000000000..2aa38b5ae2
--- /dev/null
+++ b/docs/api/type_Belt_HashMap.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_HashMap.Int
+
+(module Belt_HashMapInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashMap.String.html b/docs/api/type_Belt_HashMap.String.html
new file mode 100644
index 0000000000..646954837d
--- /dev/null
+++ b/docs/api/type_Belt_HashMap.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_HashMap.String
+
+(module Belt_HashMapString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashMap.html b/docs/api/type_Belt_HashMap.html
new file mode 100644
index 0000000000..79f5d99010
--- /dev/null
+++ b/docs/api/type_Belt_HashMap.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+ Belt_HashMap
+
+sig
+ module Int = Belt_HashMapInt
+ module String = Belt_HashMapString
+ type ('key, 'value, 'id) t
+ type ('a, 'id) id = ('a, 'id) Belt_Id.hashable
+ val make :
+ hintSize:int ->
+ id:('key, 'id) Belt_HashMap.id -> ('key, 'value, 'id) Belt_HashMap.t
+ val clear : ('key, 'value, 'id) Belt_HashMap.t -> unit
+ val isEmpty : ('a, 'b, 'c) Belt_HashMap.t -> bool
+ val set : ('key, 'value, 'id) Belt_HashMap.t -> 'key -> 'value -> unit
+ val copy :
+ ('key, 'value, 'id) Belt_HashMap.t -> ('key, 'value, 'id) Belt_HashMap.t
+ val get : ('key, 'value, 'id) Belt_HashMap.t -> 'key -> 'value option
+ val has : ('key, 'value, 'id) Belt_HashMap.t -> 'key -> bool
+ val remove : ('key, 'value, 'id) Belt_HashMap.t -> 'key -> unit
+ val forEachU :
+ ('key, 'value, 'id) Belt_HashMap.t ->
+ ('key -> 'value -> unit [@bs]) -> unit
+ val forEach :
+ ('key, 'value, 'id) Belt_HashMap.t -> ('key -> 'value -> unit) -> unit
+ val reduceU :
+ ('key, 'value, 'id) Belt_HashMap.t ->
+ 'c -> ('c -> 'key -> 'value -> 'c [@bs]) -> 'c
+ val reduce :
+ ('key, 'value, 'id) Belt_HashMap.t ->
+ 'c -> ('c -> 'key -> 'value -> 'c) -> 'c
+ val keepMapInPlaceU :
+ ('key, 'value, 'id) Belt_HashMap.t ->
+ ('key -> 'value -> 'value option [@bs]) -> unit
+ val keepMapInPlace :
+ ('key, 'value, 'id) Belt_HashMap.t ->
+ ('key -> 'value -> 'value option) -> unit
+ val size : ('a, 'b, 'c) Belt_HashMap.t -> int
+ val toArray : ('key, 'value, 'id) Belt_HashMap.t -> ('key * 'value) array
+ val keysToArray : ('key, 'a, 'b) Belt_HashMap.t -> 'key array
+ val valuesToArray : ('a, 'value, 'b) Belt_HashMap.t -> 'value array
+ val ofArray :
+ ('key * 'value) array ->
+ id:('key, 'id) Belt_HashMap.id -> ('key, 'value, 'id) Belt_HashMap.t
+ val mergeMany :
+ ('key, 'value, 'id) Belt_HashMap.t -> ('key * 'value) array -> unit
+ val getBucketHistogram : ('a, 'b, 'c) Belt_HashMap.t -> int array
+ val logStats : ('a, 'b, 'c) Belt_HashMap.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashMapInt.html b/docs/api/type_Belt_HashMapInt.html
new file mode 100644
index 0000000000..6a0316f544
--- /dev/null
+++ b/docs/api/type_Belt_HashMapInt.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+ Belt_HashMapInt
+
+sig
+ type key = int
+ type 'b t
+ val make : hintSize:int -> 'b Belt_HashMapInt.t
+ val clear : 'b Belt_HashMapInt.t -> unit
+ val isEmpty : 'a Belt_HashMapInt.t -> bool
+ val set : 'a Belt_HashMapInt.t -> Belt_HashMapInt.key -> 'a -> unit
+ val copy : 'a Belt_HashMapInt.t -> 'a Belt_HashMapInt.t
+ val get : 'a Belt_HashMapInt.t -> Belt_HashMapInt.key -> 'a option
+ val has : 'b Belt_HashMapInt.t -> Belt_HashMapInt.key -> bool
+ val remove : 'a Belt_HashMapInt.t -> Belt_HashMapInt.key -> unit
+ val forEachU :
+ 'b Belt_HashMapInt.t -> (Belt_HashMapInt.key -> 'b -> unit [@bs]) -> unit
+ val forEach :
+ 'b Belt_HashMapInt.t -> (Belt_HashMapInt.key -> 'b -> unit) -> unit
+ val reduceU :
+ 'b Belt_HashMapInt.t ->
+ 'c -> ('c -> Belt_HashMapInt.key -> 'b -> 'c [@bs]) -> 'c
+ val reduce :
+ 'b Belt_HashMapInt.t ->
+ 'c -> ('c -> Belt_HashMapInt.key -> 'b -> 'c) -> 'c
+ val keepMapInPlaceU :
+ 'a Belt_HashMapInt.t ->
+ (Belt_HashMapInt.key -> 'a -> 'a option [@bs]) -> unit
+ val keepMapInPlace :
+ 'a Belt_HashMapInt.t -> (Belt_HashMapInt.key -> 'a -> 'a option) -> unit
+ val size : 'a Belt_HashMapInt.t -> int
+ val toArray : 'a Belt_HashMapInt.t -> (Belt_HashMapInt.key * 'a) array
+ val keysToArray : 'a Belt_HashMapInt.t -> Belt_HashMapInt.key array
+ val valuesToArray : 'a Belt_HashMapInt.t -> 'a array
+ val ofArray : (Belt_HashMapInt.key * 'a) array -> 'a Belt_HashMapInt.t
+ val mergeMany :
+ 'a Belt_HashMapInt.t -> (Belt_HashMapInt.key * 'a) array -> unit
+ val getBucketHistogram : 'a Belt_HashMapInt.t -> int array
+ val logStats : 'a Belt_HashMapInt.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashMapString.html b/docs/api/type_Belt_HashMapString.html
new file mode 100644
index 0000000000..7398f8ea06
--- /dev/null
+++ b/docs/api/type_Belt_HashMapString.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+ Belt_HashMapString
+
+sig
+ type key = string
+ type 'b t
+ val make : hintSize:int -> 'b Belt_HashMapString.t
+ val clear : 'b Belt_HashMapString.t -> unit
+ val isEmpty : 'a Belt_HashMapString.t -> bool
+ val set : 'a Belt_HashMapString.t -> Belt_HashMapString.key -> 'a -> unit
+ val copy : 'a Belt_HashMapString.t -> 'a Belt_HashMapString.t
+ val get : 'a Belt_HashMapString.t -> Belt_HashMapString.key -> 'a option
+ val has : 'b Belt_HashMapString.t -> Belt_HashMapString.key -> bool
+ val remove : 'a Belt_HashMapString.t -> Belt_HashMapString.key -> unit
+ val forEachU :
+ 'b Belt_HashMapString.t ->
+ (Belt_HashMapString.key -> 'b -> unit [@bs]) -> unit
+ val forEach :
+ 'b Belt_HashMapString.t -> (Belt_HashMapString.key -> 'b -> unit) -> unit
+ val reduceU :
+ 'b Belt_HashMapString.t ->
+ 'c -> ('c -> Belt_HashMapString.key -> 'b -> 'c [@bs]) -> 'c
+ val reduce :
+ 'b Belt_HashMapString.t ->
+ 'c -> ('c -> Belt_HashMapString.key -> 'b -> 'c) -> 'c
+ val keepMapInPlaceU :
+ 'a Belt_HashMapString.t ->
+ (Belt_HashMapString.key -> 'a -> 'a option [@bs]) -> unit
+ val keepMapInPlace :
+ 'a Belt_HashMapString.t ->
+ (Belt_HashMapString.key -> 'a -> 'a option) -> unit
+ val size : 'a Belt_HashMapString.t -> int
+ val toArray :
+ 'a Belt_HashMapString.t -> (Belt_HashMapString.key * 'a) array
+ val keysToArray : 'a Belt_HashMapString.t -> Belt_HashMapString.key array
+ val valuesToArray : 'a Belt_HashMapString.t -> 'a array
+ val ofArray :
+ (Belt_HashMapString.key * 'a) array -> 'a Belt_HashMapString.t
+ val mergeMany :
+ 'a Belt_HashMapString.t -> (Belt_HashMapString.key * 'a) array -> unit
+ val getBucketHistogram : 'a Belt_HashMapString.t -> int array
+ val logStats : 'a Belt_HashMapString.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashSet.Int.html b/docs/api/type_Belt_HashSet.Int.html
new file mode 100644
index 0000000000..56f8fd18ae
--- /dev/null
+++ b/docs/api/type_Belt_HashSet.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_HashSet.Int
+
+(module Belt_HashSetInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashSet.String.html b/docs/api/type_Belt_HashSet.String.html
new file mode 100644
index 0000000000..8ed689ced9
--- /dev/null
+++ b/docs/api/type_Belt_HashSet.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_HashSet.String
+
+(module Belt_HashSetString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashSet.html b/docs/api/type_Belt_HashSet.html
new file mode 100644
index 0000000000..2cb67b824e
--- /dev/null
+++ b/docs/api/type_Belt_HashSet.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+ Belt_HashSet
+
+sig
+ module Int = Belt_HashSetInt
+ module String = Belt_HashSetString
+ type ('a, 'id) t
+ type ('a, 'id) id = ('a, 'id) Belt_Id.hashable
+ val make :
+ hintSize:int -> id:('a, 'id) Belt_HashSet.id -> ('a, 'id) Belt_HashSet.t
+ val clear : ('a, 'id) Belt_HashSet.t -> unit
+ val isEmpty : ('a, 'b) Belt_HashSet.t -> bool
+ val add : ('a, 'id) Belt_HashSet.t -> 'a -> unit
+ val copy : ('a, 'id) Belt_HashSet.t -> ('a, 'id) Belt_HashSet.t
+ val has : ('a, 'id) Belt_HashSet.t -> 'a -> bool
+ val remove : ('a, 'id) Belt_HashSet.t -> 'a -> unit
+ val forEachU : ('a, 'id) Belt_HashSet.t -> ('a -> unit [@bs]) -> unit
+ val forEach : ('a, 'id) Belt_HashSet.t -> ('a -> unit) -> unit
+ val reduceU :
+ ('a, 'id) Belt_HashSet.t -> 'c -> ('c -> 'a -> 'c [@bs]) -> 'c
+ val reduce : ('a, 'id) Belt_HashSet.t -> 'c -> ('c -> 'a -> 'c) -> 'c
+ val size : ('a, 'id) Belt_HashSet.t -> int
+ val logStats : ('a, 'b) Belt_HashSet.t -> unit
+ val toArray : ('a, 'id) Belt_HashSet.t -> 'a array
+ val ofArray :
+ 'a array -> id:('a, 'id) Belt_HashSet.id -> ('a, 'id) Belt_HashSet.t
+ val mergeMany : ('a, 'id) Belt_HashSet.t -> 'a array -> unit
+ val getBucketHistogram : ('a, 'b) Belt_HashSet.t -> int array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashSetInt.html b/docs/api/type_Belt_HashSetInt.html
new file mode 100644
index 0000000000..77993fc145
--- /dev/null
+++ b/docs/api/type_Belt_HashSetInt.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+ Belt_HashSetInt
+
+sig
+ type key = int
+ type t
+ val make : hintSize:int -> Belt_HashSetInt.t
+ val clear : Belt_HashSetInt.t -> unit
+ val isEmpty : Belt_HashSetInt.t -> bool
+ val add : Belt_HashSetInt.t -> Belt_HashSetInt.key -> unit
+ val copy : Belt_HashSetInt.t -> Belt_HashSetInt.t
+ val has : Belt_HashSetInt.t -> Belt_HashSetInt.key -> bool
+ val remove : Belt_HashSetInt.t -> Belt_HashSetInt.key -> unit
+ val forEachU :
+ Belt_HashSetInt.t -> (Belt_HashSetInt.key -> unit [@bs]) -> unit
+ val forEach : Belt_HashSetInt.t -> (Belt_HashSetInt.key -> unit) -> unit
+ val reduceU :
+ Belt_HashSetInt.t -> 'c -> ('c -> Belt_HashSetInt.key -> 'c [@bs]) -> 'c
+ val reduce :
+ Belt_HashSetInt.t -> 'c -> ('c -> Belt_HashSetInt.key -> 'c) -> 'c
+ val size : Belt_HashSetInt.t -> int
+ val logStats : Belt_HashSetInt.t -> unit
+ val toArray : Belt_HashSetInt.t -> Belt_HashSetInt.key array
+ val ofArray : Belt_HashSetInt.key array -> Belt_HashSetInt.t
+ val mergeMany : Belt_HashSetInt.t -> Belt_HashSetInt.key array -> unit
+ val getBucketHistogram : Belt_HashSetInt.t -> int array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_HashSetString.html b/docs/api/type_Belt_HashSetString.html
new file mode 100644
index 0000000000..70647928b7
--- /dev/null
+++ b/docs/api/type_Belt_HashSetString.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+ Belt_HashSetString
+
+sig
+ type key = string
+ type t
+ val make : hintSize:int -> Belt_HashSetString.t
+ val clear : Belt_HashSetString.t -> unit
+ val isEmpty : Belt_HashSetString.t -> bool
+ val add : Belt_HashSetString.t -> Belt_HashSetString.key -> unit
+ val copy : Belt_HashSetString.t -> Belt_HashSetString.t
+ val has : Belt_HashSetString.t -> Belt_HashSetString.key -> bool
+ val remove : Belt_HashSetString.t -> Belt_HashSetString.key -> unit
+ val forEachU :
+ Belt_HashSetString.t -> (Belt_HashSetString.key -> unit [@bs]) -> unit
+ val forEach :
+ Belt_HashSetString.t -> (Belt_HashSetString.key -> unit) -> unit
+ val reduceU :
+ Belt_HashSetString.t ->
+ 'c -> ('c -> Belt_HashSetString.key -> 'c [@bs]) -> 'c
+ val reduce :
+ Belt_HashSetString.t -> 'c -> ('c -> Belt_HashSetString.key -> 'c) -> 'c
+ val size : Belt_HashSetString.t -> int
+ val logStats : Belt_HashSetString.t -> unit
+ val toArray : Belt_HashSetString.t -> Belt_HashSetString.key array
+ val ofArray : Belt_HashSetString.key array -> Belt_HashSetString.t
+ val mergeMany :
+ Belt_HashSetString.t -> Belt_HashSetString.key array -> unit
+ val getBucketHistogram : Belt_HashSetString.t -> int array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Id.Comparable.html b/docs/api/type_Belt_Id.Comparable.html
new file mode 100644
index 0000000000..951b9b286b
--- /dev/null
+++ b/docs/api/type_Belt_Id.Comparable.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+ Belt_Id.Comparable
+
+sig
+ type identity
+ type t
+ val cmp : (Belt_Id.Comparable.t, Belt_Id.Comparable.identity) Belt_Id.cmp
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Id.Hashable.html b/docs/api/type_Belt_Id.Hashable.html
new file mode 100644
index 0000000000..8edd28be67
--- /dev/null
+++ b/docs/api/type_Belt_Id.Hashable.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+ Belt_Id.Hashable
+
+sig
+ type identity
+ type t
+ val hash : (Belt_Id.Hashable.t, Belt_Id.Hashable.identity) Belt_Id.hash
+ val eq : (Belt_Id.Hashable.t, Belt_Id.Hashable.identity) Belt_Id.eq
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Id.html b/docs/api/type_Belt_Id.html
new file mode 100644
index 0000000000..f444809fbd
--- /dev/null
+++ b/docs/api/type_Belt_Id.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+ Belt_Id
+
+sig
+ type ('a, 'id) hash
+ type ('a, 'id) eq
+ type ('a, 'id) cmp
+ module type Comparable =
+ sig
+ type identity
+ type t
+ val cmp :
+ (Belt_Id.Comparable.t, Belt_Id.Comparable.identity) Belt_Id.cmp
+ end
+ type ('key, 'id) comparable =
+ (module Belt_Id.Comparable with type identity = 'id and type t = 'key)
+ val comparableU :
+ cmp:('a -> 'a -> int [@bs]) ->
+ (module Belt_Id.Comparable with type t = 'a)
+ val comparable :
+ cmp:('a -> 'a -> int) -> (module Belt_Id.Comparable with type t = 'a)
+ module type Hashable =
+ sig
+ type identity
+ type t
+ val hash : (Belt_Id.Hashable.t, Belt_Id.Hashable.identity) Belt_Id.hash
+ val eq : (Belt_Id.Hashable.t, Belt_Id.Hashable.identity) Belt_Id.eq
+ end
+ type ('key, 'id) hashable =
+ (module Belt_Id.Hashable with type identity = 'id and type t = 'key)
+ val hashableU :
+ hash:('a -> int [@bs]) ->
+ eq:('a -> 'a -> bool [@bs]) -> (module Belt_Id.Hashable with type t = 'a)
+ val hashable :
+ hash:('a -> int) ->
+ eq:('a -> 'a -> bool) -> (module Belt_Id.Hashable with type t = 'a)
+ external getHashInternal : ('a, 'id) Belt_Id.hash -> ('a -> int [@bs])
+ = "%identity"
+ external getEqInternal : ('a, 'id) Belt_Id.eq -> ('a -> 'a -> bool [@bs])
+ = "%identity"
+ external getCmpInternal : ('a, 'id) Belt_Id.cmp -> ('a -> 'a -> int [@bs])
+ = "%identity"
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_List.html b/docs/api/type_Belt_List.html
new file mode 100644
index 0000000000..93c49dae74
--- /dev/null
+++ b/docs/api/type_Belt_List.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+ Belt_List
+
+sig
+ type 'a t = 'a list
+ val length : 'a Belt_List.t -> int
+ val size : 'a Belt_List.t -> int
+ val head : 'a Belt_List.t -> 'a option
+ val headExn : 'a Belt_List.t -> 'a
+ val tail : 'a Belt_List.t -> 'a Belt_List.t option
+ val tailExn : 'a Belt_List.t -> 'a Belt_List.t
+ val add : 'a Belt_List.t -> 'a -> 'a Belt_List.t
+ val get : 'a Belt_List.t -> int -> 'a option
+ val getExn : 'a Belt_List.t -> int -> 'a
+ val make : int -> 'a -> 'a Belt_List.t
+ val makeByU : int -> (int -> 'a [@bs]) -> 'a Belt_List.t
+ val makeBy : int -> (int -> 'a) -> 'a Belt_List.t
+ val drop : 'a Belt_List.t -> int -> 'a Belt_List.t option
+ val take : 'a Belt_List.t -> int -> 'a Belt_List.t option
+ val splitAt : 'a Belt_List.t -> int -> ('a list * 'a list) option
+ val concat : 'a Belt_List.t -> 'a Belt_List.t -> 'a Belt_List.t
+ val concatMany : 'a Belt_List.t array -> 'a Belt_List.t
+ val reverseConcat : 'a Belt_List.t -> 'a Belt_List.t -> 'a Belt_List.t
+ val flatten : 'a Belt_List.t Belt_List.t -> 'a Belt_List.t
+ val mapU : 'a Belt_List.t -> ('a -> 'b [@bs]) -> 'b Belt_List.t
+ val map : 'a Belt_List.t -> ('a -> 'b) -> 'b Belt_List.t
+ val zip : 'a Belt_List.t -> 'b Belt_List.t -> ('a * 'b) Belt_List.t
+ val zipByU :
+ 'a Belt_List.t ->
+ 'b Belt_List.t -> ('a -> 'b -> 'c [@bs]) -> 'c Belt_List.t
+ val zipBy :
+ 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> 'c) -> 'c Belt_List.t
+ val mapWithIndexU :
+ 'a Belt_List.t -> (int -> 'a -> 'b [@bs]) -> 'b Belt_List.t
+ val mapWithIndex : 'a Belt_List.t -> (int -> 'a -> 'b) -> 'b Belt_List.t
+ val ofArray : 'a array -> 'a Belt_List.t
+ val toArray : 'a Belt_List.t -> 'a array
+ val reverse : 'a Belt_List.t -> 'a Belt_List.t
+ val mapReverseU : 'a Belt_List.t -> ('a -> 'b [@bs]) -> 'b Belt_List.t
+ val mapReverse : 'a Belt_List.t -> ('a -> 'b) -> 'b Belt_List.t
+ val forEachU : 'a Belt_List.t -> ('a -> 'b [@bs]) -> unit
+ val forEach : 'a Belt_List.t -> ('a -> 'b) -> unit
+ val forEachWithIndexU : 'a Belt_List.t -> (int -> 'a -> 'b [@bs]) -> unit
+ val forEachWithIndex : 'a Belt_List.t -> (int -> 'a -> 'b) -> unit
+ val reduceU : 'a Belt_List.t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+ val reduce : 'a Belt_List.t -> 'b -> ('b -> 'a -> 'b) -> 'b
+ val reduceReverseU : 'a Belt_List.t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+ val reduceReverse : 'a Belt_List.t -> 'b -> ('b -> 'a -> 'b) -> 'b
+ val mapReverse2U :
+ 'a Belt_List.t ->
+ 'b Belt_List.t -> ('a -> 'b -> 'c [@bs]) -> 'c Belt_List.t
+ val mapReverse2 :
+ 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> 'c) -> 'c Belt_List.t
+ val forEach2U :
+ 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> 'c [@bs]) -> unit
+ val forEach2 : 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> 'c) -> unit
+ val reduce2U :
+ 'b Belt_List.t ->
+ 'c Belt_List.t -> 'a -> ('a -> 'b -> 'c -> 'a [@bs]) -> 'a
+ val reduce2 :
+ 'b Belt_List.t -> 'c Belt_List.t -> 'a -> ('a -> 'b -> 'c -> 'a) -> 'a
+ val reduceReverse2U :
+ 'a Belt_List.t ->
+ 'b Belt_List.t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+ val reduceReverse2 :
+ 'a Belt_List.t -> 'b Belt_List.t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+ val everyU : 'a Belt_List.t -> ('a -> bool [@bs]) -> bool
+ val every : 'a Belt_List.t -> ('a -> bool) -> bool
+ val someU : 'a Belt_List.t -> ('a -> bool [@bs]) -> bool
+ val some : 'a Belt_List.t -> ('a -> bool) -> bool
+ val every2U :
+ 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> bool [@bs]) -> bool
+ val every2 : 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> bool) -> bool
+ val some2U :
+ 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> bool [@bs]) -> bool
+ val some2 : 'a Belt_List.t -> 'b Belt_List.t -> ('a -> 'b -> bool) -> bool
+ val cmpByLength : 'a Belt_List.t -> 'a Belt_List.t -> int
+ val cmpU :
+ 'a Belt_List.t -> 'a Belt_List.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp : 'a Belt_List.t -> 'a Belt_List.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ 'a Belt_List.t -> 'a Belt_List.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq : 'a Belt_List.t -> 'a Belt_List.t -> ('a -> 'a -> bool) -> bool
+ val hasU : 'a Belt_List.t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+ val has : 'a Belt_List.t -> 'b -> ('a -> 'b -> bool) -> bool
+ val getByU : 'a Belt_List.t -> ('a -> bool [@bs]) -> 'a option
+ val getBy : 'a Belt_List.t -> ('a -> bool) -> 'a option
+ val keepU : 'a Belt_List.t -> ('a -> bool [@bs]) -> 'a Belt_List.t
+ val keep : 'a Belt_List.t -> ('a -> bool) -> 'a Belt_List.t
+ val keepMapU : 'a Belt_List.t -> ('a -> 'b option [@bs]) -> 'b Belt_List.t
+ val keepMap : 'a Belt_List.t -> ('a -> 'b option) -> 'b Belt_List.t
+ val partitionU :
+ 'a Belt_List.t -> ('a -> bool [@bs]) -> 'a Belt_List.t * 'a Belt_List.t
+ val partition :
+ 'a Belt_List.t -> ('a -> bool) -> 'a Belt_List.t * 'a Belt_List.t
+ val unzip : ('a * 'b) Belt_List.t -> 'a Belt_List.t * 'b Belt_List.t
+ val getAssocU :
+ ('a * 'c) Belt_List.t -> 'b -> ('a -> 'b -> bool [@bs]) -> 'c option
+ val getAssoc :
+ ('a * 'c) Belt_List.t -> 'b -> ('a -> 'b -> bool) -> 'c option
+ val hasAssocU :
+ ('a * 'c) Belt_List.t -> 'b -> ('a -> 'b -> bool [@bs]) -> bool
+ val hasAssoc : ('a * 'c) Belt_List.t -> 'b -> ('a -> 'b -> bool) -> bool
+ val removeAssocU :
+ ('a * 'c) Belt_List.t ->
+ 'b -> ('a -> 'b -> bool [@bs]) -> ('a * 'c) Belt_List.t
+ val removeAssoc :
+ ('a * 'c) Belt_List.t ->
+ 'b -> ('a -> 'b -> bool) -> ('a * 'c) Belt_List.t
+ val setAssocU :
+ ('a * 'c) Belt_List.t ->
+ 'a -> 'c -> ('a -> 'a -> bool [@bs]) -> ('a * 'c) Belt_List.t
+ val setAssoc :
+ ('a * 'c) Belt_List.t ->
+ 'a -> 'c -> ('a -> 'a -> bool) -> ('a * 'c) Belt_List.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Map.Dict.html b/docs/api/type_Belt_Map.Dict.html
new file mode 100644
index 0000000000..462b295b99
--- /dev/null
+++ b/docs/api/type_Belt_Map.Dict.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Map.Dict
+
+(module Belt_MapDict)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Map.Int.html b/docs/api/type_Belt_Map.Int.html
new file mode 100644
index 0000000000..b817cc01c2
--- /dev/null
+++ b/docs/api/type_Belt_Map.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Map.Int
+
+(module Belt_MapInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Map.String.html b/docs/api/type_Belt_Map.String.html
new file mode 100644
index 0000000000..7c4376ff41
--- /dev/null
+++ b/docs/api/type_Belt_Map.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Map.String
+
+(module Belt_MapString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Map.html b/docs/api/type_Belt_Map.html
new file mode 100644
index 0000000000..9db5aa4519
--- /dev/null
+++ b/docs/api/type_Belt_Map.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+ Belt_Map
+
+sig
+ module Int = Belt_MapInt
+ module String = Belt_MapString
+ module Dict = Belt_MapDict
+ type ('key, 'value, 'identity) t
+ type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
+ val make : id:('k, 'id) Belt_Map.id -> ('k, 'a, 'id) Belt_Map.t
+ val isEmpty : ('a, 'b, 'c) Belt_Map.t -> bool
+ val has : ('k, 'a, 'id) Belt_Map.t -> 'k -> bool
+ val cmpU :
+ ('k, 'v, 'id) Belt_Map.t ->
+ ('k, 'v, 'id) Belt_Map.t -> ('v -> 'v -> int [@bs]) -> int
+ val cmp :
+ ('k, 'v, 'id) Belt_Map.t ->
+ ('k, 'v, 'id) Belt_Map.t -> ('v -> 'v -> int) -> int
+ val eqU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k, 'a, 'id) Belt_Map.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k, 'a, 'id) Belt_Map.t -> ('a -> 'a -> bool) -> bool
+ val forEachU : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> unit [@bs]) -> unit
+ val forEach : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> unit) -> unit
+ val reduceU :
+ ('k, 'a, 'id) Belt_Map.t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ ('k, 'a, 'id) Belt_Map.t -> 'acc -> ('acc -> 'k -> 'a -> 'acc) -> 'acc
+ val everyU : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val every : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> bool) -> bool
+ val someU : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val some : ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> bool) -> bool
+ val size : ('k, 'a, 'id) Belt_Map.t -> int
+ val toArray : ('k, 'a, 'id) Belt_Map.t -> ('k * 'a) array
+ val toList : ('k, 'a, 'id) Belt_Map.t -> ('k * 'a) list
+ val ofArray :
+ ('k * 'a) array -> id:('k, 'id) Belt_Map.id -> ('k, 'a, 'id) Belt_Map.t
+ val keysToArray : ('k, 'a, 'id) Belt_Map.t -> 'k array
+ val valuesToArray : ('k, 'a, 'id) Belt_Map.t -> 'a array
+ val minKey : ('k, 'a, 'b) Belt_Map.t -> 'k option
+ val minKeyUndefined : ('k, 'a, 'b) Belt_Map.t -> 'k Js.undefined
+ val maxKey : ('k, 'a, 'b) Belt_Map.t -> 'k option
+ val maxKeyUndefined : ('k, 'a, 'b) Belt_Map.t -> 'k Js.undefined
+ val minimum : ('k, 'a, 'b) Belt_Map.t -> ('k * 'a) option
+ val minUndefined : ('k, 'a, 'b) Belt_Map.t -> ('k * 'a) Js.undefined
+ val maximum : ('k, 'a, 'b) Belt_Map.t -> ('k * 'a) option
+ val maxUndefined : ('k, 'a, 'b) Belt_Map.t -> ('k * 'a) Js.undefined
+ val get : ('k, 'a, 'id) Belt_Map.t -> 'k -> 'a option
+ val getUndefined : ('k, 'a, 'id) Belt_Map.t -> 'k -> 'a Js.undefined
+ val getWithDefault : ('k, 'a, 'id) Belt_Map.t -> 'k -> 'a -> 'a
+ val getExn : ('k, 'a, 'id) Belt_Map.t -> 'k -> 'a
+ val remove : ('k, 'a, 'id) Belt_Map.t -> 'k -> ('k, 'a, 'id) Belt_Map.t
+ val removeMany :
+ ('k, 'a, 'id) Belt_Map.t -> 'k array -> ('k, 'a, 'id) Belt_Map.t
+ val set : ('k, 'a, 'id) Belt_Map.t -> 'k -> 'a -> ('k, 'a, 'id) Belt_Map.t
+ val updateU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ 'k -> ('a option -> 'a option [@bs]) -> ('k, 'a, 'id) Belt_Map.t
+ val update :
+ ('k, 'a, 'id) Belt_Map.t ->
+ 'k -> ('a option -> 'a option) -> ('k, 'a, 'id) Belt_Map.t
+ val mergeMany :
+ ('k, 'a, 'id) Belt_Map.t -> ('k * 'a) array -> ('k, 'a, 'id) Belt_Map.t
+ val mergeU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k, 'b, 'id) Belt_Map.t ->
+ ('k -> 'a option -> 'b option -> 'c option [@bs]) ->
+ ('k, 'c, 'id) Belt_Map.t
+ val merge :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k, 'b, 'id) Belt_Map.t ->
+ ('k -> 'a option -> 'b option -> 'c option) -> ('k, 'c, 'id) Belt_Map.t
+ val keepU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) Belt_Map.t
+ val keep :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k -> 'a -> bool) -> ('k, 'a, 'id) Belt_Map.t
+ val partitionU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k -> 'a -> bool [@bs]) ->
+ ('k, 'a, 'id) Belt_Map.t * ('k, 'a, 'id) Belt_Map.t
+ val partition :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k -> 'a -> bool) -> ('k, 'a, 'id) Belt_Map.t * ('k, 'a, 'id) Belt_Map.t
+ val split :
+ ('k, 'a, 'id) Belt_Map.t ->
+ 'k -> (('k, 'a, 'id) Belt_Map.t * ('k, 'a, 'id) Belt_Map.t) * 'a option
+ val mapU :
+ ('k, 'a, 'id) Belt_Map.t -> ('a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_Map.t
+ val map :
+ ('k, 'a, 'id) Belt_Map.t -> ('a -> 'b) -> ('k, 'b, 'id) Belt_Map.t
+ val mapWithKeyU :
+ ('k, 'a, 'id) Belt_Map.t ->
+ ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_Map.t
+ val mapWithKey :
+ ('k, 'a, 'id) Belt_Map.t -> ('k -> 'a -> 'b) -> ('k, 'b, 'id) Belt_Map.t
+ val getData : ('a, 'b, 'c) Belt_Map.t -> ('a, 'b, 'c) Belt_MapDict.t
+ val getId : ('a, 'b, 'c) Belt_Map.t -> ('a, 'c) Belt_Map.id
+ val packIdData :
+ id:('a, 'b) Belt_Map.id ->
+ data:('a, 'c, 'b) Belt_MapDict.t -> ('a, 'c, 'b) Belt_Map.t
+ val checkInvariantInternal : ('a, 'b, 'c) Belt_Map.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MapDict.html b/docs/api/type_Belt_MapDict.html
new file mode 100644
index 0000000000..22c7427fc6
--- /dev/null
+++ b/docs/api/type_Belt_MapDict.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+ Belt_MapDict
+
+sig
+ type ('key, 'value, 'id) t
+ type ('key, 'id) cmp = ('key, 'id) Belt_Id.cmp
+ val empty : ('k, 'v, 'id) Belt_MapDict.t
+ val isEmpty : ('k, 'v, 'id) Belt_MapDict.t -> bool
+ val has :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ 'k -> cmp:('k, 'id) Belt_MapDict.cmp -> bool
+ val cmpU :
+ ('k, 'v, 'id) Belt_MapDict.t ->
+ ('k, 'v, 'id) Belt_MapDict.t ->
+ kcmp:('k, 'id) Belt_MapDict.cmp -> vcmp:('v -> 'v -> int [@bs]) -> int
+ val cmp :
+ ('k, 'v, 'id) Belt_MapDict.t ->
+ ('k, 'v, 'id) Belt_MapDict.t ->
+ kcmp:('k, 'id) Belt_MapDict.cmp -> vcmp:('v -> 'v -> int) -> int
+ val eqU :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ kcmp:('k, 'id) Belt_MapDict.cmp -> veq:('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ kcmp:('k, 'id) Belt_MapDict.cmp -> veq:('a -> 'a -> bool) -> bool
+ val forEachU :
+ ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> unit [@bs]) -> unit
+ val forEach : ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> unit) -> unit
+ val reduceU :
+ ('k, 'a, 'id) Belt_MapDict.t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ ('k, 'a, 'id) Belt_MapDict.t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
+ val everyU :
+ ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val every : ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> bool) -> bool
+ val someU :
+ ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val some : ('k, 'a, 'id) Belt_MapDict.t -> ('k -> 'a -> bool) -> bool
+ val size : ('k, 'a, 'id) Belt_MapDict.t -> int
+ val toList : ('k, 'a, 'id) Belt_MapDict.t -> ('k * 'a) list
+ val toArray : ('k, 'a, 'id) Belt_MapDict.t -> ('k * 'a) array
+ val ofArray :
+ ('k * 'a) array ->
+ cmp:('k, 'id) Belt_MapDict.cmp -> ('k, 'a, 'id) Belt_MapDict.t
+ val keysToArray : ('k, 'a, 'id) Belt_MapDict.t -> 'k array
+ val valuesToArray : ('k, 'a, 'id) Belt_MapDict.t -> 'a array
+ val minKey : ('k, 'a, 'b) Belt_MapDict.t -> 'k option
+ val minKeyUndefined : ('k, 'a, 'b) Belt_MapDict.t -> 'k Js.undefined
+ val maxKey : ('k, 'a, 'b) Belt_MapDict.t -> 'k option
+ val maxKeyUndefined : ('k, 'a, 'b) Belt_MapDict.t -> 'k Js.undefined
+ val minimum : ('k, 'a, 'b) Belt_MapDict.t -> ('k * 'a) option
+ val minUndefined : ('k, 'a, 'b) Belt_MapDict.t -> ('k * 'a) Js.undefined
+ val maximum : ('k, 'a, 'b) Belt_MapDict.t -> ('k * 'a) option
+ val maxUndefined : ('k, 'a, 'b) Belt_MapDict.t -> ('k * 'a) Js.undefined
+ val get :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ 'k -> cmp:('k, 'id) Belt_MapDict.cmp -> 'a option
+ val getUndefined :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ 'k -> cmp:('k, 'id) Belt_MapDict.cmp -> 'a Js.undefined
+ val getWithDefault :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ 'k -> 'a -> cmp:('k, 'id) Belt_MapDict.cmp -> 'a
+ val getExn :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ 'k -> cmp:('k, 'id) Belt_MapDict.cmp -> 'a
+ val checkInvariantInternal : ('a, 'b, 'c) Belt_MapDict.t -> unit
+ val remove :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a -> cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val removeMany :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a array ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val set :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a ->
+ 'b -> cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val updateU :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a ->
+ ('b option -> 'b option [@bs]) ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val update :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a ->
+ ('b option -> 'b option) ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val mergeU :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ ('a, 'c, 'id) Belt_MapDict.t ->
+ ('a -> 'b option -> 'c option -> 'd option [@bs]) ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'd, 'id) Belt_MapDict.t
+ val merge :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ ('a, 'c, 'id) Belt_MapDict.t ->
+ ('a -> 'b option -> 'c option -> 'd option) ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'd, 'id) Belt_MapDict.t
+ val mergeMany :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ ('a * 'b) array ->
+ cmp:('a, 'id) Belt_MapDict.cmp -> ('a, 'b, 'id) Belt_MapDict.t
+ val keepU :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> bool [@bs]) -> ('k, 'a, 'id) Belt_MapDict.t
+ val keep :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> bool) -> ('k, 'a, 'id) Belt_MapDict.t
+ val partitionU :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> bool [@bs]) ->
+ ('k, 'a, 'id) Belt_MapDict.t * ('k, 'a, 'id) Belt_MapDict.t
+ val partition :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> bool) ->
+ ('k, 'a, 'id) Belt_MapDict.t * ('k, 'a, 'id) Belt_MapDict.t
+ val split :
+ ('a, 'b, 'id) Belt_MapDict.t ->
+ 'a ->
+ cmp:('a, 'id) Belt_MapDict.cmp ->
+ (('a, 'b, 'id) Belt_MapDict.t * ('a, 'b, 'id) Belt_MapDict.t) * 'b option
+ val mapU :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_MapDict.t
+ val map :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('a -> 'b) -> ('k, 'b, 'id) Belt_MapDict.t
+ val mapWithKeyU :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_MapDict.t
+ val mapWithKey :
+ ('k, 'a, 'id) Belt_MapDict.t ->
+ ('k -> 'a -> 'b) -> ('k, 'b, 'id) Belt_MapDict.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MapInt.html b/docs/api/type_Belt_MapInt.html
new file mode 100644
index 0000000000..e55b7bd60b
--- /dev/null
+++ b/docs/api/type_Belt_MapInt.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+ Belt_MapInt
+
+sig
+ type key = int
+ type 'a t
+ val empty : 'a Belt_MapInt.t
+ val isEmpty : 'a Belt_MapInt.t -> bool
+ val has : 'a Belt_MapInt.t -> Belt_MapInt.key -> bool
+ val cmpU :
+ 'a Belt_MapInt.t -> 'a Belt_MapInt.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp : 'a Belt_MapInt.t -> 'a Belt_MapInt.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ 'a Belt_MapInt.t -> 'a Belt_MapInt.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq : 'a Belt_MapInt.t -> 'a Belt_MapInt.t -> ('a -> 'a -> bool) -> bool
+ val forEachU :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> unit [@bs]) -> unit
+ val forEach : 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> unit) -> unit
+ val reduceU :
+ 'a Belt_MapInt.t -> 'b -> ('b -> Belt_MapInt.key -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ 'a Belt_MapInt.t -> 'b -> ('b -> Belt_MapInt.key -> 'a -> 'b) -> 'b
+ val everyU :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> bool [@bs]) -> bool
+ val every : 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> bool) -> bool
+ val someU :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> bool [@bs]) -> bool
+ val some : 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> bool) -> bool
+ val size : 'a Belt_MapInt.t -> int
+ val toList : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) list
+ val toArray : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) array
+ val ofArray : (Belt_MapInt.key * 'a) array -> 'a Belt_MapInt.t
+ val keysToArray : 'a Belt_MapInt.t -> Belt_MapInt.key array
+ val valuesToArray : 'a Belt_MapInt.t -> 'a array
+ val minKey : 'a Belt_MapInt.t -> Belt_MapInt.key option
+ val minKeyUndefined : 'a Belt_MapInt.t -> Belt_MapInt.key Js.undefined
+ val maxKey : 'a Belt_MapInt.t -> Belt_MapInt.key option
+ val maxKeyUndefined : 'a Belt_MapInt.t -> Belt_MapInt.key Js.undefined
+ val minimum : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) option
+ val minUndefined : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) Js.undefined
+ val maximum : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) option
+ val maxUndefined : 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) Js.undefined
+ val get : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a option
+ val getUndefined : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a Js.undefined
+ val getWithDefault : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a -> 'a
+ val getExn : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a
+ val remove : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a Belt_MapInt.t
+ val removeMany :
+ 'a Belt_MapInt.t -> Belt_MapInt.key array -> 'a Belt_MapInt.t
+ val set : 'a Belt_MapInt.t -> Belt_MapInt.key -> 'a -> 'a Belt_MapInt.t
+ val updateU :
+ 'a Belt_MapInt.t ->
+ Belt_MapInt.key -> ('a option -> 'a option [@bs]) -> 'a Belt_MapInt.t
+ val update :
+ 'a Belt_MapInt.t ->
+ Belt_MapInt.key -> ('a option -> 'a option) -> 'a Belt_MapInt.t
+ val mergeArray :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key * 'a) array -> 'a Belt_MapInt.t
+ val mergeU :
+ 'a Belt_MapInt.t ->
+ 'b Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a option -> 'b option -> 'c option [@bs]) ->
+ 'c Belt_MapInt.t
+ val merge :
+ 'a Belt_MapInt.t ->
+ 'b Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a option -> 'b option -> 'c option) ->
+ 'c Belt_MapInt.t
+ val keepU :
+ 'a Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a -> bool [@bs]) -> 'a Belt_MapInt.t
+ val keep :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> bool) -> 'a Belt_MapInt.t
+ val partitionU :
+ 'a Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a -> bool [@bs]) ->
+ 'a Belt_MapInt.t * 'a Belt_MapInt.t
+ val partition :
+ 'a Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a -> bool) -> 'a Belt_MapInt.t * 'a Belt_MapInt.t
+ val split :
+ Belt_MapInt.key ->
+ 'a Belt_MapInt.t -> 'a Belt_MapInt.t * 'a option * 'a Belt_MapInt.t
+ val mapU : 'a Belt_MapInt.t -> ('a -> 'b [@bs]) -> 'b Belt_MapInt.t
+ val map : 'a Belt_MapInt.t -> ('a -> 'b) -> 'b Belt_MapInt.t
+ val mapWithKeyU :
+ 'a Belt_MapInt.t ->
+ (Belt_MapInt.key -> 'a -> 'b [@bs]) -> 'b Belt_MapInt.t
+ val mapWithKey :
+ 'a Belt_MapInt.t -> (Belt_MapInt.key -> 'a -> 'b) -> 'b Belt_MapInt.t
+ val checkInvariantInternal : 'a Belt_MapInt.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MapString.html b/docs/api/type_Belt_MapString.html
new file mode 100644
index 0000000000..c10ec91c2d
--- /dev/null
+++ b/docs/api/type_Belt_MapString.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+ Belt_MapString
+
+sig
+ type key = string
+ type 'a t
+ val empty : 'a Belt_MapString.t
+ val isEmpty : 'a Belt_MapString.t -> bool
+ val has : 'a Belt_MapString.t -> Belt_MapString.key -> bool
+ val cmpU :
+ 'a Belt_MapString.t ->
+ 'a Belt_MapString.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp :
+ 'a Belt_MapString.t -> 'a Belt_MapString.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ 'a Belt_MapString.t ->
+ 'a Belt_MapString.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ 'a Belt_MapString.t -> 'a Belt_MapString.t -> ('a -> 'a -> bool) -> bool
+ val forEachU :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> unit [@bs]) -> unit
+ val forEach :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> unit) -> unit
+ val reduceU :
+ 'a Belt_MapString.t ->
+ 'b -> ('b -> Belt_MapString.key -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ 'a Belt_MapString.t -> 'b -> ('b -> Belt_MapString.key -> 'a -> 'b) -> 'b
+ val everyU :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> bool [@bs]) -> bool
+ val every :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> bool) -> bool
+ val someU :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> bool [@bs]) -> bool
+ val some :
+ 'a Belt_MapString.t -> (Belt_MapString.key -> 'a -> bool) -> bool
+ val size : 'a Belt_MapString.t -> int
+ val toList : 'a Belt_MapString.t -> (Belt_MapString.key * 'a) list
+ val toArray : 'a Belt_MapString.t -> (Belt_MapString.key * 'a) array
+ val ofArray : (Belt_MapString.key * 'a) array -> 'a Belt_MapString.t
+ val keysToArray : 'a Belt_MapString.t -> Belt_MapString.key array
+ val valuesToArray : 'a Belt_MapString.t -> 'a array
+ val minKey : 'a Belt_MapString.t -> Belt_MapString.key option
+ val minKeyUndefined :
+ 'a Belt_MapString.t -> Belt_MapString.key Js.undefined
+ val maxKey : 'a Belt_MapString.t -> Belt_MapString.key option
+ val maxKeyUndefined :
+ 'a Belt_MapString.t -> Belt_MapString.key Js.undefined
+ val minimum : 'a Belt_MapString.t -> (Belt_MapString.key * 'a) option
+ val minUndefined :
+ 'a Belt_MapString.t -> (Belt_MapString.key * 'a) Js.undefined
+ val maximum : 'a Belt_MapString.t -> (Belt_MapString.key * 'a) option
+ val maxUndefined :
+ 'a Belt_MapString.t -> (Belt_MapString.key * 'a) Js.undefined
+ val get : 'a Belt_MapString.t -> Belt_MapString.key -> 'a option
+ val getUndefined :
+ 'a Belt_MapString.t -> Belt_MapString.key -> 'a Js.undefined
+ val getWithDefault : 'a Belt_MapString.t -> Belt_MapString.key -> 'a -> 'a
+ val getExn : 'a Belt_MapString.t -> Belt_MapString.key -> 'a
+ val remove :
+ 'a Belt_MapString.t -> Belt_MapString.key -> 'a Belt_MapString.t
+ val removeMany :
+ 'a Belt_MapString.t -> Belt_MapString.key array -> 'a Belt_MapString.t
+ val set :
+ 'a Belt_MapString.t -> Belt_MapString.key -> 'a -> 'a Belt_MapString.t
+ val updateU :
+ 'a Belt_MapString.t ->
+ Belt_MapString.key ->
+ ('a option -> 'a option [@bs]) -> 'a Belt_MapString.t
+ val update :
+ 'a Belt_MapString.t ->
+ Belt_MapString.key -> ('a option -> 'a option) -> 'a Belt_MapString.t
+ val mergeArray :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key * 'a) array -> 'a Belt_MapString.t
+ val mergeU :
+ 'a Belt_MapString.t ->
+ 'b Belt_MapString.t ->
+ (Belt_MapString.key -> 'a option -> 'b option -> 'c option [@bs]) ->
+ 'c Belt_MapString.t
+ val merge :
+ 'a Belt_MapString.t ->
+ 'b Belt_MapString.t ->
+ (Belt_MapString.key -> 'a option -> 'b option -> 'c option) ->
+ 'c Belt_MapString.t
+ val keepU :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> bool [@bs]) -> 'a Belt_MapString.t
+ val keep :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> bool) -> 'a Belt_MapString.t
+ val partitionU :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> bool [@bs]) ->
+ 'a Belt_MapString.t * 'a Belt_MapString.t
+ val partition :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> bool) ->
+ 'a Belt_MapString.t * 'a Belt_MapString.t
+ val split :
+ Belt_MapString.key ->
+ 'a Belt_MapString.t ->
+ 'a Belt_MapString.t * 'a option * 'a Belt_MapString.t
+ val mapU : 'a Belt_MapString.t -> ('a -> 'b [@bs]) -> 'b Belt_MapString.t
+ val map : 'a Belt_MapString.t -> ('a -> 'b) -> 'b Belt_MapString.t
+ val mapWithKeyU :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> 'b [@bs]) -> 'b Belt_MapString.t
+ val mapWithKey :
+ 'a Belt_MapString.t ->
+ (Belt_MapString.key -> 'a -> 'b) -> 'b Belt_MapString.t
+ val checkInvariantInternal : 'a Belt_MapString.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableMap.Int.html b/docs/api/type_Belt_MutableMap.Int.html
new file mode 100644
index 0000000000..d3f7a98510
--- /dev/null
+++ b/docs/api/type_Belt_MutableMap.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_MutableMap.Int
+
+(module Belt_MutableMapInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableMap.String.html b/docs/api/type_Belt_MutableMap.String.html
new file mode 100644
index 0000000000..6d1a44ba36
--- /dev/null
+++ b/docs/api/type_Belt_MutableMap.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_MutableMap.String
+
+(module Belt_MutableMapString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableMap.html b/docs/api/type_Belt_MutableMap.html
new file mode 100644
index 0000000000..9c9ddbebb1
--- /dev/null
+++ b/docs/api/type_Belt_MutableMap.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ Belt_MutableMap
+
+sig
+ module Int = Belt_MutableMapInt
+ module String = Belt_MutableMapString
+ type ('k, 'v, 'id) t
+ type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
+ val make :
+ id:('k, 'id) Belt_MutableMap.id -> ('k, 'a, 'id) Belt_MutableMap.t
+ val clear : ('a, 'b, 'c) Belt_MutableMap.t -> unit
+ val isEmpty : ('a, 'b, 'c) Belt_MutableMap.t -> bool
+ val has : ('k, 'a, 'b) Belt_MutableMap.t -> 'k -> bool
+ val cmpU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('a -> 'a -> bool) -> bool
+ val forEachU :
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> unit [@bs]) -> unit
+ val forEach : ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> unit) -> unit
+ val reduceU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ ('k, 'a, 'id) Belt_MutableMap.t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
+ val everyU :
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val every : ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> bool) -> bool
+ val someU :
+ ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> bool [@bs]) -> bool
+ val some : ('k, 'a, 'id) Belt_MutableMap.t -> ('k -> 'a -> bool) -> bool
+ val size : ('k, 'a, 'id) Belt_MutableMap.t -> int
+ val toList : ('k, 'a, 'id) Belt_MutableMap.t -> ('k * 'a) list
+ val toArray : ('k, 'a, 'id) Belt_MutableMap.t -> ('k * 'a) array
+ val ofArray :
+ ('k * 'a) array ->
+ id:('k, 'id) Belt_MutableMap.id -> ('k, 'a, 'id) Belt_MutableMap.t
+ val keysToArray : ('k, 'a, 'b) Belt_MutableMap.t -> 'k array
+ val valuesToArray : ('b, 'a, 'c) Belt_MutableMap.t -> 'a array
+ val minKey : ('k, 'a, 'b) Belt_MutableMap.t -> 'k option
+ val minKeyUndefined : ('k, 'a, 'b) Belt_MutableMap.t -> 'k Js.undefined
+ val maxKey : ('k, 'a, 'b) Belt_MutableMap.t -> 'k option
+ val maxKeyUndefined : ('k, 'a, 'b) Belt_MutableMap.t -> 'k Js.undefined
+ val minimum : ('k, 'a, 'b) Belt_MutableMap.t -> ('k * 'a) option
+ val minUndefined : ('k, 'a, 'b) Belt_MutableMap.t -> ('k * 'a) Js.undefined
+ val maximum : ('k, 'a, 'b) Belt_MutableMap.t -> ('k * 'a) option
+ val maxUndefined : ('k, 'a, 'b) Belt_MutableMap.t -> ('k * 'a) Js.undefined
+ val get : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> 'a option
+ val getUndefined : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> 'a Js.undefined
+ val getWithDefault : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> 'a -> 'a
+ val getExn : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> 'a
+ val checkInvariantInternal : ('a, 'b, 'c) Belt_MutableMap.t -> unit
+ val remove : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> unit
+ val removeMany : ('k, 'a, 'id) Belt_MutableMap.t -> 'k array -> unit
+ val set : ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> 'a -> unit
+ val updateU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ 'k -> ('a option -> 'a option [@bs]) -> unit
+ val update :
+ ('k, 'a, 'id) Belt_MutableMap.t -> 'k -> ('a option -> 'a option) -> unit
+ val mergeMany : ('k, 'a, 'id) Belt_MutableMap.t -> ('k * 'a) array -> unit
+ val mapU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_MutableMap.t
+ val map :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('a -> 'b) -> ('k, 'b, 'id) Belt_MutableMap.t
+ val mapWithKeyU :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) Belt_MutableMap.t
+ val mapWithKey :
+ ('k, 'a, 'id) Belt_MutableMap.t ->
+ ('k -> 'a -> 'b) -> ('k, 'b, 'id) Belt_MutableMap.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableMapInt.html b/docs/api/type_Belt_MutableMapInt.html
new file mode 100644
index 0000000000..90c5f79c6b
--- /dev/null
+++ b/docs/api/type_Belt_MutableMapInt.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+ Belt_MutableMapInt
+
+sig
+ type key = int
+ type 'a t
+ val make : unit -> 'a Belt_MutableMapInt.t
+ val clear : 'a Belt_MutableMapInt.t -> unit
+ val isEmpty : 'a Belt_MutableMapInt.t -> bool
+ val has : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> bool
+ val cmpU :
+ 'a Belt_MutableMapInt.t ->
+ 'a Belt_MutableMapInt.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp :
+ 'a Belt_MutableMapInt.t ->
+ 'a Belt_MutableMapInt.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ 'a Belt_MutableMapInt.t ->
+ 'a Belt_MutableMapInt.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ 'a Belt_MutableMapInt.t ->
+ 'a Belt_MutableMapInt.t -> ('a -> 'a -> bool) -> bool
+ val forEachU :
+ 'a Belt_MutableMapInt.t ->
+ (Belt_MutableMapInt.key -> 'a -> unit [@bs]) -> unit
+ val forEach :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key -> 'a -> unit) -> unit
+ val reduceU :
+ 'a Belt_MutableMapInt.t ->
+ 'b -> ('b -> Belt_MutableMapInt.key -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ 'a Belt_MutableMapInt.t ->
+ 'b -> ('b -> Belt_MutableMapInt.key -> 'a -> 'b) -> 'b
+ val everyU :
+ 'a Belt_MutableMapInt.t ->
+ (Belt_MutableMapInt.key -> 'a -> bool [@bs]) -> bool
+ val every :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key -> 'a -> bool) -> bool
+ val someU :
+ 'a Belt_MutableMapInt.t ->
+ (Belt_MutableMapInt.key -> 'a -> bool [@bs]) -> bool
+ val some :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key -> 'a -> bool) -> bool
+ val size : 'a Belt_MutableMapInt.t -> int
+ val toList : 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) list
+ val toArray :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) array
+ val ofArray :
+ (Belt_MutableMapInt.key * 'a) array -> 'a Belt_MutableMapInt.t
+ val keysToArray : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key array
+ val valuesToArray : 'a Belt_MutableMapInt.t -> 'a array
+ val minKey : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key option
+ val minKeyUndefined :
+ 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key Js.undefined
+ val maxKey : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key option
+ val maxKeyUndefined :
+ 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key Js.undefined
+ val minimum :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) option
+ val minUndefined :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) Js.undefined
+ val maximum :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) option
+ val maxUndefined :
+ 'a Belt_MutableMapInt.t -> (Belt_MutableMapInt.key * 'a) Js.undefined
+ val get : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> 'a option
+ val getUndefined :
+ 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> 'a Js.undefined
+ val getWithDefault :
+ 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> 'a -> 'a
+ val getExn : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> 'a
+ val checkInvariantInternal : 'a Belt_MutableMapInt.t -> unit
+ val remove : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> unit
+ val removeMany :
+ 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key array -> unit
+ val set : 'a Belt_MutableMapInt.t -> Belt_MutableMapInt.key -> 'a -> unit
+ val updateU :
+ 'a Belt_MutableMapInt.t ->
+ Belt_MutableMapInt.key -> ('a option -> 'a option [@bs]) -> unit
+ val update :
+ 'a Belt_MutableMapInt.t ->
+ Belt_MutableMapInt.key -> ('a option -> 'a option) -> unit
+ val mapU :
+ 'a Belt_MutableMapInt.t -> ('a -> 'b [@bs]) -> 'b Belt_MutableMapInt.t
+ val map : 'a Belt_MutableMapInt.t -> ('a -> 'b) -> 'b Belt_MutableMapInt.t
+ val mapWithKeyU :
+ 'a Belt_MutableMapInt.t ->
+ (Belt_MutableMapInt.key -> 'a -> 'b [@bs]) -> 'b Belt_MutableMapInt.t
+ val mapWithKey :
+ 'a Belt_MutableMapInt.t ->
+ (Belt_MutableMapInt.key -> 'a -> 'b) -> 'b Belt_MutableMapInt.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableMapString.html b/docs/api/type_Belt_MutableMapString.html
new file mode 100644
index 0000000000..0ff5831995
--- /dev/null
+++ b/docs/api/type_Belt_MutableMapString.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+ Belt_MutableMapString
+
+sig
+ type key = string
+ type 'a t
+ val make : unit -> 'a Belt_MutableMapString.t
+ val clear : 'a Belt_MutableMapString.t -> unit
+ val isEmpty : 'a Belt_MutableMapString.t -> bool
+ val has : 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> bool
+ val cmpU :
+ 'a Belt_MutableMapString.t ->
+ 'a Belt_MutableMapString.t -> ('a -> 'a -> int [@bs]) -> int
+ val cmp :
+ 'a Belt_MutableMapString.t ->
+ 'a Belt_MutableMapString.t -> ('a -> 'a -> int) -> int
+ val eqU :
+ 'a Belt_MutableMapString.t ->
+ 'a Belt_MutableMapString.t -> ('a -> 'a -> bool [@bs]) -> bool
+ val eq :
+ 'a Belt_MutableMapString.t ->
+ 'a Belt_MutableMapString.t -> ('a -> 'a -> bool) -> bool
+ val forEachU :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> unit [@bs]) -> unit
+ val forEach :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> unit) -> unit
+ val reduceU :
+ 'a Belt_MutableMapString.t ->
+ 'b -> ('b -> Belt_MutableMapString.key -> 'a -> 'b [@bs]) -> 'b
+ val reduce :
+ 'a Belt_MutableMapString.t ->
+ 'b -> ('b -> Belt_MutableMapString.key -> 'a -> 'b) -> 'b
+ val everyU :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> bool [@bs]) -> bool
+ val every :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> bool) -> bool
+ val someU :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> bool [@bs]) -> bool
+ val some :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> bool) -> bool
+ val size : 'a Belt_MutableMapString.t -> int
+ val toList :
+ 'a Belt_MutableMapString.t -> (Belt_MutableMapString.key * 'a) list
+ val toArray :
+ 'a Belt_MutableMapString.t -> (Belt_MutableMapString.key * 'a) array
+ val ofArray :
+ (Belt_MutableMapString.key * 'a) array -> 'a Belt_MutableMapString.t
+ val keysToArray :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key array
+ val valuesToArray : 'a Belt_MutableMapString.t -> 'a array
+ val minKey : 'a Belt_MutableMapString.t -> Belt_MutableMapString.key option
+ val minKeyUndefined :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key Js.undefined
+ val maxKey : 'a Belt_MutableMapString.t -> Belt_MutableMapString.key option
+ val maxKeyUndefined :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key Js.undefined
+ val minimum :
+ 'a Belt_MutableMapString.t -> (Belt_MutableMapString.key * 'a) option
+ val minUndefined :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key * 'a) Js.undefined
+ val maximum :
+ 'a Belt_MutableMapString.t -> (Belt_MutableMapString.key * 'a) option
+ val maxUndefined :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key * 'a) Js.undefined
+ val get :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> 'a option
+ val getUndefined :
+ 'a Belt_MutableMapString.t ->
+ Belt_MutableMapString.key -> 'a Js.undefined
+ val getWithDefault :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> 'a -> 'a
+ val getExn : 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> 'a
+ val checkInvariantInternal : 'a Belt_MutableMapString.t -> unit
+ val remove :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> unit
+ val removeMany :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key array -> unit
+ val set :
+ 'a Belt_MutableMapString.t -> Belt_MutableMapString.key -> 'a -> unit
+ val updateU :
+ 'a Belt_MutableMapString.t ->
+ Belt_MutableMapString.key -> ('a option -> 'a option [@bs]) -> unit
+ val update :
+ 'a Belt_MutableMapString.t ->
+ Belt_MutableMapString.key -> ('a option -> 'a option) -> unit
+ val mapU :
+ 'a Belt_MutableMapString.t ->
+ ('a -> 'b [@bs]) -> 'b Belt_MutableMapString.t
+ val map :
+ 'a Belt_MutableMapString.t -> ('a -> 'b) -> 'b Belt_MutableMapString.t
+ val mapWithKeyU :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> 'b [@bs]) ->
+ 'b Belt_MutableMapString.t
+ val mapWithKey :
+ 'a Belt_MutableMapString.t ->
+ (Belt_MutableMapString.key -> 'a -> 'b) -> 'b Belt_MutableMapString.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableQueue.html b/docs/api/type_Belt_MutableQueue.html
new file mode 100644
index 0000000000..e5bb70bc1f
--- /dev/null
+++ b/docs/api/type_Belt_MutableQueue.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+ Belt_MutableQueue
+
+sig
+ type 'a t
+ val make : unit -> 'a Belt_MutableQueue.t
+ val clear : 'a Belt_MutableQueue.t -> unit
+ val isEmpty : 'a Belt_MutableQueue.t -> bool
+ val ofArray : 'a array -> 'a Belt_MutableQueue.t
+ val add : 'a Belt_MutableQueue.t -> 'a -> unit
+ val peek : 'a Belt_MutableQueue.t -> 'a option
+ val peekUndefined : 'a Belt_MutableQueue.t -> 'a Js.undefined
+ val peekExn : 'a Belt_MutableQueue.t -> 'a
+ val pop : 'a Belt_MutableQueue.t -> 'a option
+ val popUndefined : 'a Belt_MutableQueue.t -> 'a Js.undefined
+ val popExn : 'a Belt_MutableQueue.t -> 'a
+ val copy : 'a Belt_MutableQueue.t -> 'a Belt_MutableQueue.t
+ val size : 'a Belt_MutableQueue.t -> int
+ val mapU :
+ 'a Belt_MutableQueue.t -> ('a -> 'b [@bs]) -> 'b Belt_MutableQueue.t
+ val map : 'a Belt_MutableQueue.t -> ('a -> 'b) -> 'b Belt_MutableQueue.t
+ val forEachU : 'a Belt_MutableQueue.t -> ('a -> unit [@bs]) -> unit
+ val forEach : 'a Belt_MutableQueue.t -> ('a -> unit) -> unit
+ val reduceU : 'a Belt_MutableQueue.t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+ val reduce : 'a Belt_MutableQueue.t -> 'b -> ('b -> 'a -> 'b) -> 'b
+ val transfer : 'a Belt_MutableQueue.t -> 'a Belt_MutableQueue.t -> unit
+ val toArray : 'a Belt_MutableQueue.t -> 'a array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableSet.Int.html b/docs/api/type_Belt_MutableSet.Int.html
new file mode 100644
index 0000000000..97655ebfcf
--- /dev/null
+++ b/docs/api/type_Belt_MutableSet.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_MutableSet.Int
+
+(module Belt_MutableSetInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableSet.String.html b/docs/api/type_Belt_MutableSet.String.html
new file mode 100644
index 0000000000..a4a28d19a5
--- /dev/null
+++ b/docs/api/type_Belt_MutableSet.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_MutableSet.String
+
+(module Belt_MutableSetString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableSet.html b/docs/api/type_Belt_MutableSet.html
new file mode 100644
index 0000000000..0dcc59637e
--- /dev/null
+++ b/docs/api/type_Belt_MutableSet.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ Belt_MutableSet
+
+sig
+ module Int = Belt_MutableSetInt
+ module String = Belt_MutableSetString
+ type ('k, 'id) t
+ type ('k, 'id) id = ('k, 'id) Belt_Id.comparable
+ val make :
+ id:('elt, 'id) Belt_MutableSet.id -> ('elt, 'id) Belt_MutableSet.t
+ val ofArray :
+ 'k array ->
+ id:('k, 'id) Belt_MutableSet.id -> ('k, 'id) Belt_MutableSet.t
+ val ofSortedArrayUnsafe :
+ 'elt array ->
+ id:('elt, 'id) Belt_MutableSet.id -> ('elt, 'id) Belt_MutableSet.t
+ val copy : ('k, 'id) Belt_MutableSet.t -> ('k, 'id) Belt_MutableSet.t
+ val isEmpty : ('a, 'b) Belt_MutableSet.t -> bool
+ val has : ('elt, 'a) Belt_MutableSet.t -> 'elt -> bool
+ val add : ('elt, 'id) Belt_MutableSet.t -> 'elt -> unit
+ val addCheck : ('elt, 'id) Belt_MutableSet.t -> 'elt -> bool
+ val mergeMany : ('elt, 'id) Belt_MutableSet.t -> 'elt array -> unit
+ val remove : ('elt, 'id) Belt_MutableSet.t -> 'elt -> unit
+ val removeCheck : ('elt, 'id) Belt_MutableSet.t -> 'elt -> bool
+ val removeMany : ('elt, 'id) Belt_MutableSet.t -> 'elt array -> unit
+ val union :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t
+ val intersect :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t
+ val diff :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t
+ val subset :
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t -> bool
+ val cmp :
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t -> int
+ val eq :
+ ('elt, 'id) Belt_MutableSet.t -> ('elt, 'id) Belt_MutableSet.t -> bool
+ val forEachU :
+ ('elt, 'id) Belt_MutableSet.t -> ('elt -> unit [@bs]) -> unit
+ val forEach : ('elt, 'id) Belt_MutableSet.t -> ('elt -> unit) -> unit
+ val reduceU :
+ ('elt, 'id) Belt_MutableSet.t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+ val reduce :
+ ('elt, 'id) Belt_MutableSet.t -> 'a -> ('a -> 'elt -> 'a) -> 'a
+ val everyU : ('elt, 'id) Belt_MutableSet.t -> ('elt -> bool [@bs]) -> bool
+ val every : ('elt, 'id) Belt_MutableSet.t -> ('elt -> bool) -> bool
+ val someU : ('elt, 'id) Belt_MutableSet.t -> ('elt -> bool [@bs]) -> bool
+ val some : ('elt, 'id) Belt_MutableSet.t -> ('elt -> bool) -> bool
+ val keepU :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt -> bool [@bs]) -> ('elt, 'id) Belt_MutableSet.t
+ val keep :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt -> bool) -> ('elt, 'id) Belt_MutableSet.t
+ val partitionU :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt -> bool [@bs]) ->
+ ('elt, 'id) Belt_MutableSet.t * ('elt, 'id) Belt_MutableSet.t
+ val partition :
+ ('elt, 'id) Belt_MutableSet.t ->
+ ('elt -> bool) ->
+ ('elt, 'id) Belt_MutableSet.t * ('elt, 'id) Belt_MutableSet.t
+ val size : ('elt, 'id) Belt_MutableSet.t -> int
+ val toList : ('elt, 'id) Belt_MutableSet.t -> 'elt list
+ val toArray : ('elt, 'id) Belt_MutableSet.t -> 'elt array
+ val minimum : ('elt, 'id) Belt_MutableSet.t -> 'elt option
+ val minUndefined : ('elt, 'id) Belt_MutableSet.t -> 'elt Js.undefined
+ val maximum : ('elt, 'id) Belt_MutableSet.t -> 'elt option
+ val maxUndefined : ('elt, 'id) Belt_MutableSet.t -> 'elt Js.undefined
+ val get : ('elt, 'id) Belt_MutableSet.t -> 'elt -> 'elt option
+ val getUndefined :
+ ('elt, 'id) Belt_MutableSet.t -> 'elt -> 'elt Js.undefined
+ val getExn : ('elt, 'id) Belt_MutableSet.t -> 'elt -> 'elt
+ val split :
+ ('elt, 'id) Belt_MutableSet.t ->
+ 'elt ->
+ (('elt, 'id) Belt_MutableSet.t * ('elt, 'id) Belt_MutableSet.t) * bool
+ val checkInvariantInternal : ('a, 'b) Belt_MutableSet.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableSetInt.html b/docs/api/type_Belt_MutableSetInt.html
new file mode 100644
index 0000000000..9dde344cad
--- /dev/null
+++ b/docs/api/type_Belt_MutableSetInt.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ Belt_MutableSetInt
+
+sig
+ type elt = int
+ type t
+ val make : unit -> Belt_MutableSetInt.t
+ val ofArray : Belt_MutableSetInt.elt array -> Belt_MutableSetInt.t
+ val ofSortedArrayUnsafe :
+ Belt_MutableSetInt.elt array -> Belt_MutableSetInt.t
+ val copy : Belt_MutableSetInt.t -> Belt_MutableSetInt.t
+ val isEmpty : Belt_MutableSetInt.t -> bool
+ val has : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> bool
+ val add : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> unit
+ val addCheck : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> bool
+ val mergeMany :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.elt array -> unit
+ val remove : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> unit
+ val removeCheck : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> bool
+ val removeMany :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.elt array -> unit
+ val union :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> Belt_MutableSetInt.t
+ val intersect :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> Belt_MutableSetInt.t
+ val diff :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> Belt_MutableSetInt.t
+ val subset : Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> bool
+ val cmp : Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> int
+ val eq : Belt_MutableSetInt.t -> Belt_MutableSetInt.t -> bool
+ val forEachU :
+ Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> unit [@bs]) -> unit
+ val forEach :
+ Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> unit) -> unit
+ val reduceU :
+ Belt_MutableSetInt.t ->
+ 'a -> ('a -> Belt_MutableSetInt.elt -> 'a [@bs]) -> 'a
+ val reduce :
+ Belt_MutableSetInt.t -> 'a -> ('a -> Belt_MutableSetInt.elt -> 'a) -> 'a
+ val everyU :
+ Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> bool [@bs]) -> bool
+ val every :
+ Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> bool) -> bool
+ val someU :
+ Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> bool [@bs]) -> bool
+ val some : Belt_MutableSetInt.t -> (Belt_MutableSetInt.elt -> bool) -> bool
+ val keepU :
+ Belt_MutableSetInt.t ->
+ (Belt_MutableSetInt.elt -> bool [@bs]) -> Belt_MutableSetInt.t
+ val keep :
+ Belt_MutableSetInt.t ->
+ (Belt_MutableSetInt.elt -> bool) -> Belt_MutableSetInt.t
+ val partitionU :
+ Belt_MutableSetInt.t ->
+ (Belt_MutableSetInt.elt -> bool [@bs]) ->
+ Belt_MutableSetInt.t * Belt_MutableSetInt.t
+ val partition :
+ Belt_MutableSetInt.t ->
+ (Belt_MutableSetInt.elt -> bool) ->
+ Belt_MutableSetInt.t * Belt_MutableSetInt.t
+ val size : Belt_MutableSetInt.t -> int
+ val toList : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt list
+ val toArray : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt array
+ val minimum : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt option
+ val minUndefined :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.elt Js.undefined
+ val maximum : Belt_MutableSetInt.t -> Belt_MutableSetInt.elt option
+ val maxUndefined :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.elt Js.undefined
+ val get :
+ Belt_MutableSetInt.t ->
+ Belt_MutableSetInt.elt -> Belt_MutableSetInt.elt option
+ val getUndefined :
+ Belt_MutableSetInt.t ->
+ Belt_MutableSetInt.elt -> Belt_MutableSetInt.elt Js.undefined
+ val getExn :
+ Belt_MutableSetInt.t -> Belt_MutableSetInt.elt -> Belt_MutableSetInt.elt
+ val split :
+ Belt_MutableSetInt.t ->
+ Belt_MutableSetInt.elt ->
+ (Belt_MutableSetInt.t * Belt_MutableSetInt.t) * bool
+ val checkInvariantInternal : Belt_MutableSetInt.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableSetString.html b/docs/api/type_Belt_MutableSetString.html
new file mode 100644
index 0000000000..c5c1052ff3
--- /dev/null
+++ b/docs/api/type_Belt_MutableSetString.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+ Belt_MutableSetString
+
+sig
+ type elt = string
+ type t
+ val make : unit -> Belt_MutableSetString.t
+ val ofArray : Belt_MutableSetString.elt array -> Belt_MutableSetString.t
+ val ofSortedArrayUnsafe :
+ Belt_MutableSetString.elt array -> Belt_MutableSetString.t
+ val copy : Belt_MutableSetString.t -> Belt_MutableSetString.t
+ val isEmpty : Belt_MutableSetString.t -> bool
+ val has : Belt_MutableSetString.t -> Belt_MutableSetString.elt -> bool
+ val add : Belt_MutableSetString.t -> Belt_MutableSetString.elt -> unit
+ val addCheck : Belt_MutableSetString.t -> Belt_MutableSetString.elt -> bool
+ val mergeMany :
+ Belt_MutableSetString.t -> Belt_MutableSetString.elt array -> unit
+ val remove : Belt_MutableSetString.t -> Belt_MutableSetString.elt -> unit
+ val removeCheck :
+ Belt_MutableSetString.t -> Belt_MutableSetString.elt -> bool
+ val removeMany :
+ Belt_MutableSetString.t -> Belt_MutableSetString.elt array -> unit
+ val union :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.t -> Belt_MutableSetString.t
+ val intersect :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.t -> Belt_MutableSetString.t
+ val diff :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.t -> Belt_MutableSetString.t
+ val subset : Belt_MutableSetString.t -> Belt_MutableSetString.t -> bool
+ val cmp : Belt_MutableSetString.t -> Belt_MutableSetString.t -> int
+ val eq : Belt_MutableSetString.t -> Belt_MutableSetString.t -> bool
+ val forEachU :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> unit [@bs]) -> unit
+ val forEach :
+ Belt_MutableSetString.t -> (Belt_MutableSetString.elt -> unit) -> unit
+ val reduceU :
+ Belt_MutableSetString.t ->
+ 'a -> ('a -> Belt_MutableSetString.elt -> 'a [@bs]) -> 'a
+ val reduce :
+ Belt_MutableSetString.t ->
+ 'a -> ('a -> Belt_MutableSetString.elt -> 'a) -> 'a
+ val everyU :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool [@bs]) -> bool
+ val every :
+ Belt_MutableSetString.t -> (Belt_MutableSetString.elt -> bool) -> bool
+ val someU :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool [@bs]) -> bool
+ val some :
+ Belt_MutableSetString.t -> (Belt_MutableSetString.elt -> bool) -> bool
+ val keepU :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool [@bs]) -> Belt_MutableSetString.t
+ val keep :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool) -> Belt_MutableSetString.t
+ val partitionU :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool [@bs]) ->
+ Belt_MutableSetString.t * Belt_MutableSetString.t
+ val partition :
+ Belt_MutableSetString.t ->
+ (Belt_MutableSetString.elt -> bool) ->
+ Belt_MutableSetString.t * Belt_MutableSetString.t
+ val size : Belt_MutableSetString.t -> int
+ val toList : Belt_MutableSetString.t -> Belt_MutableSetString.elt list
+ val toArray : Belt_MutableSetString.t -> Belt_MutableSetString.elt array
+ val minimum : Belt_MutableSetString.t -> Belt_MutableSetString.elt option
+ val minUndefined :
+ Belt_MutableSetString.t -> Belt_MutableSetString.elt Js.undefined
+ val maximum : Belt_MutableSetString.t -> Belt_MutableSetString.elt option
+ val maxUndefined :
+ Belt_MutableSetString.t -> Belt_MutableSetString.elt Js.undefined
+ val get :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.elt -> Belt_MutableSetString.elt option
+ val getUndefined :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.elt -> Belt_MutableSetString.elt Js.undefined
+ val getExn :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.elt -> Belt_MutableSetString.elt
+ val split :
+ Belt_MutableSetString.t ->
+ Belt_MutableSetString.elt ->
+ (Belt_MutableSetString.t * Belt_MutableSetString.t) * bool
+ val checkInvariantInternal : Belt_MutableSetString.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_MutableStack.html b/docs/api/type_Belt_MutableStack.html
new file mode 100644
index 0000000000..f89ded6a30
--- /dev/null
+++ b/docs/api/type_Belt_MutableStack.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+ Belt_MutableStack
+
+sig
+ type 'a t
+ val make : unit -> 'a Belt_MutableStack.t
+ val clear : 'a Belt_MutableStack.t -> unit
+ val copy : 'a Belt_MutableStack.t -> 'a Belt_MutableStack.t
+ val push : 'a Belt_MutableStack.t -> 'a -> unit
+ val popUndefined : 'a Belt_MutableStack.t -> 'a Js.undefined
+ val pop : 'a Belt_MutableStack.t -> 'a option
+ val topUndefined : 'a Belt_MutableStack.t -> 'a Js.undefined
+ val top : 'a Belt_MutableStack.t -> 'a option
+ val isEmpty : 'a Belt_MutableStack.t -> bool
+ val size : 'a Belt_MutableStack.t -> int
+ val forEachU : 'a Belt_MutableStack.t -> ('a -> unit [@bs]) -> unit
+ val forEach : 'a Belt_MutableStack.t -> ('a -> unit) -> unit
+ val dynamicPopIterU : 'a Belt_MutableStack.t -> ('a -> unit [@bs]) -> unit
+ val dynamicPopIter : 'a Belt_MutableStack.t -> ('a -> unit) -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Range.html b/docs/api/type_Belt_Range.html
new file mode 100644
index 0000000000..b7917f60fd
--- /dev/null
+++ b/docs/api/type_Belt_Range.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+ Belt_Range
+
+sig
+ val forEachU : int -> int -> (int -> unit [@bs]) -> unit
+ val forEach : int -> int -> (int -> unit) -> unit
+ val everyU : int -> int -> (int -> bool [@bs]) -> bool
+ val every : int -> int -> (int -> bool) -> bool
+ val everyByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+ val everyBy : int -> int -> step:int -> (int -> bool) -> bool
+ val someU : int -> int -> (int -> bool [@bs]) -> bool
+ val some : int -> int -> (int -> bool) -> bool
+ val someByU : int -> int -> step:int -> (int -> bool [@bs]) -> bool
+ val someBy : int -> int -> step:int -> (int -> bool) -> bool
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_Set.Dict.html b/docs/api/type_Belt_Set.Dict.html
new file mode 100644
index 0000000000..b4294c4f15
--- /dev/null
+++ b/docs/api/type_Belt_Set.Dict.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Set.Dict
+
+(module Belt_SetDict)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Set.Int.html b/docs/api/type_Belt_Set.Int.html
new file mode 100644
index 0000000000..4e4cd0f729
--- /dev/null
+++ b/docs/api/type_Belt_Set.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Set.Int
+
+(module Belt_SetInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Set.String.html b/docs/api/type_Belt_Set.String.html
new file mode 100644
index 0000000000..dd490a7a94
--- /dev/null
+++ b/docs/api/type_Belt_Set.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_Set.String
+
+(module Belt_SetString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_Set.html b/docs/api/type_Belt_Set.html
new file mode 100644
index 0000000000..667a9e279f
--- /dev/null
+++ b/docs/api/type_Belt_Set.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+ Belt_Set
+
+sig
+ module Int = Belt_SetInt
+ module String = Belt_SetString
+ module Dict = Belt_SetDict
+ type ('key, 'identity) t
+ type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
+ val make : id:('elt, 'id) Belt_Set.id -> ('elt, 'id) Belt_Set.t
+ val ofArray : 'k array -> id:('k, 'id) Belt_Set.id -> ('k, 'id) Belt_Set.t
+ val ofSortedArrayUnsafe :
+ 'elt array -> id:('elt, 'id) Belt_Set.id -> ('elt, 'id) Belt_Set.t
+ val isEmpty : ('a, 'b) Belt_Set.t -> bool
+ val has : ('elt, 'id) Belt_Set.t -> 'elt -> bool
+ val add : ('elt, 'id) Belt_Set.t -> 'elt -> ('elt, 'id) Belt_Set.t
+ val mergeMany :
+ ('elt, 'id) Belt_Set.t -> 'elt array -> ('elt, 'id) Belt_Set.t
+ val remove : ('elt, 'id) Belt_Set.t -> 'elt -> ('elt, 'id) Belt_Set.t
+ val removeMany :
+ ('elt, 'id) Belt_Set.t -> 'elt array -> ('elt, 'id) Belt_Set.t
+ val union :
+ ('elt, 'id) Belt_Set.t ->
+ ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t
+ val intersect :
+ ('elt, 'id) Belt_Set.t ->
+ ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t
+ val diff :
+ ('elt, 'id) Belt_Set.t ->
+ ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t
+ val subset : ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t -> bool
+ val cmp : ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t -> int
+ val eq : ('elt, 'id) Belt_Set.t -> ('elt, 'id) Belt_Set.t -> bool
+ val forEachU : ('elt, 'id) Belt_Set.t -> ('elt -> unit [@bs]) -> unit
+ val forEach : ('elt, 'id) Belt_Set.t -> ('elt -> unit) -> unit
+ val reduceU :
+ ('elt, 'id) Belt_Set.t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+ val reduce : ('elt, 'id) Belt_Set.t -> 'a -> ('a -> 'elt -> 'a) -> 'a
+ val everyU : ('elt, 'id) Belt_Set.t -> ('elt -> bool [@bs]) -> bool
+ val every : ('elt, 'id) Belt_Set.t -> ('elt -> bool) -> bool
+ val someU : ('elt, 'id) Belt_Set.t -> ('elt -> bool [@bs]) -> bool
+ val some : ('elt, 'id) Belt_Set.t -> ('elt -> bool) -> bool
+ val keepU :
+ ('elt, 'id) Belt_Set.t -> ('elt -> bool [@bs]) -> ('elt, 'id) Belt_Set.t
+ val keep :
+ ('elt, 'id) Belt_Set.t -> ('elt -> bool) -> ('elt, 'id) Belt_Set.t
+ val partitionU :
+ ('elt, 'id) Belt_Set.t ->
+ ('elt -> bool [@bs]) -> ('elt, 'id) Belt_Set.t * ('elt, 'id) Belt_Set.t
+ val partition :
+ ('elt, 'id) Belt_Set.t ->
+ ('elt -> bool) -> ('elt, 'id) Belt_Set.t * ('elt, 'id) Belt_Set.t
+ val size : ('elt, 'id) Belt_Set.t -> int
+ val toArray : ('elt, 'id) Belt_Set.t -> 'elt array
+ val toList : ('elt, 'id) Belt_Set.t -> 'elt list
+ val minimum : ('elt, 'id) Belt_Set.t -> 'elt option
+ val minUndefined : ('elt, 'id) Belt_Set.t -> 'elt Js.undefined
+ val maximum : ('elt, 'id) Belt_Set.t -> 'elt option
+ val maxUndefined : ('elt, 'id) Belt_Set.t -> 'elt Js.undefined
+ val get : ('elt, 'id) Belt_Set.t -> 'elt -> 'elt option
+ val getUndefined : ('elt, 'id) Belt_Set.t -> 'elt -> 'elt Js.undefined
+ val getExn : ('elt, 'id) Belt_Set.t -> 'elt -> 'elt
+ val split :
+ ('elt, 'id) Belt_Set.t ->
+ 'elt -> (('elt, 'id) Belt_Set.t * ('elt, 'id) Belt_Set.t) * bool
+ val checkInvariantInternal : ('a, 'b) Belt_Set.t -> unit
+ val getData : ('k, 'id) Belt_Set.t -> ('k, 'id) Belt_SetDict.t
+ val getId : ('k, 'id) Belt_Set.t -> ('k, 'id) Belt_Set.id
+ val packIdData :
+ id:('k, 'id) Belt_Set.id ->
+ data:('k, 'id) Belt_SetDict.t -> ('k, 'id) Belt_Set.t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SetDict.html b/docs/api/type_Belt_SetDict.html
new file mode 100644
index 0000000000..dc894fe199
--- /dev/null
+++ b/docs/api/type_Belt_SetDict.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+ Belt_SetDict
+
+sig
+ type ('key, 'id) t
+ type ('key, 'id) cmp = ('key, 'id) Belt_Id.cmp
+ val empty : ('elt, 'id) Belt_SetDict.t
+ val ofArray :
+ 'k array -> cmp:('k, 'id) Belt_SetDict.cmp -> ('k, 'id) Belt_SetDict.t
+ val ofSortedArrayUnsafe : 'elt array -> ('elt, 'id) Belt_SetDict.t
+ val isEmpty : ('a, 'b) Belt_SetDict.t -> bool
+ val has :
+ ('k, 'id) Belt_SetDict.t -> 'k -> cmp:('k, 'id) Belt_SetDict.cmp -> bool
+ val add :
+ ('k, 'id) Belt_SetDict.t ->
+ 'k -> cmp:('k, 'id) Belt_SetDict.cmp -> ('k, 'id) Belt_SetDict.t
+ val mergeMany :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt array ->
+ cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val remove :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt -> cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val removeMany :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt array ->
+ cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val union :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t ->
+ cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val intersect :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t ->
+ cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val diff :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t ->
+ cmp:('elt, 'id) Belt_SetDict.cmp -> ('elt, 'id) Belt_SetDict.t
+ val subset :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t -> cmp:('elt, 'id) Belt_SetDict.cmp -> bool
+ val cmp :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t -> cmp:('elt, 'id) Belt_SetDict.cmp -> int
+ val eq :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt, 'id) Belt_SetDict.t -> cmp:('elt, 'id) Belt_SetDict.cmp -> bool
+ val forEachU : ('elt, 'id) Belt_SetDict.t -> ('elt -> unit [@bs]) -> unit
+ val forEach : ('elt, 'id) Belt_SetDict.t -> ('elt -> unit) -> unit
+ val reduceU :
+ ('elt, 'id) Belt_SetDict.t -> 'a -> ('a -> 'elt -> 'a [@bs]) -> 'a
+ val reduce : ('elt, 'id) Belt_SetDict.t -> 'a -> ('a -> 'elt -> 'a) -> 'a
+ val everyU : ('elt, 'id) Belt_SetDict.t -> ('elt -> bool [@bs]) -> bool
+ val every : ('elt, 'id) Belt_SetDict.t -> ('elt -> bool) -> bool
+ val someU : ('elt, 'id) Belt_SetDict.t -> ('elt -> bool [@bs]) -> bool
+ val some : ('elt, 'id) Belt_SetDict.t -> ('elt -> bool) -> bool
+ val keepU :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt -> bool [@bs]) -> ('elt, 'id) Belt_SetDict.t
+ val keep :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt -> bool) -> ('elt, 'id) Belt_SetDict.t
+ val partitionU :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt -> bool [@bs]) ->
+ ('elt, 'id) Belt_SetDict.t * ('elt, 'id) Belt_SetDict.t
+ val partition :
+ ('elt, 'id) Belt_SetDict.t ->
+ ('elt -> bool) -> ('elt, 'id) Belt_SetDict.t * ('elt, 'id) Belt_SetDict.t
+ val size : ('elt, 'id) Belt_SetDict.t -> int
+ val toList : ('elt, 'id) Belt_SetDict.t -> 'elt list
+ val toArray : ('elt, 'id) Belt_SetDict.t -> 'elt array
+ val minimum : ('elt, 'id) Belt_SetDict.t -> 'elt option
+ val minUndefined : ('elt, 'id) Belt_SetDict.t -> 'elt Js.undefined
+ val maximum : ('elt, 'id) Belt_SetDict.t -> 'elt option
+ val maxUndefined : ('elt, 'id) Belt_SetDict.t -> 'elt Js.undefined
+ val get :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt -> cmp:('elt, 'id) Belt_SetDict.cmp -> 'elt option
+ val getUndefined :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt -> cmp:('elt, 'id) Belt_SetDict.cmp -> 'elt Js.undefined
+ val getExn :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt -> cmp:('elt, 'id) Belt_SetDict.cmp -> 'elt
+ val split :
+ ('elt, 'id) Belt_SetDict.t ->
+ 'elt ->
+ cmp:('elt, 'id) Belt_SetDict.cmp ->
+ (('elt, 'id) Belt_SetDict.t * ('elt, 'id) Belt_SetDict.t) * bool
+ val checkInvariantInternal : ('a, 'b) Belt_SetDict.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SetInt.html b/docs/api/type_Belt_SetInt.html
new file mode 100644
index 0000000000..1f9d5a08ca
--- /dev/null
+++ b/docs/api/type_Belt_SetInt.html
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+ Belt_SetInt
+
+sig
+ type elt = int
+ type t
+ val empty : Belt_SetInt.t
+ val ofArray : Belt_SetInt.elt array -> Belt_SetInt.t
+ val ofSortedArrayUnsafe : Belt_SetInt.elt array -> Belt_SetInt.t
+ val isEmpty : Belt_SetInt.t -> bool
+ val has : Belt_SetInt.t -> Belt_SetInt.elt -> bool
+ val add : Belt_SetInt.t -> Belt_SetInt.elt -> Belt_SetInt.t
+ val mergeMany : Belt_SetInt.t -> Belt_SetInt.elt array -> Belt_SetInt.t
+ val remove : Belt_SetInt.t -> Belt_SetInt.elt -> Belt_SetInt.t
+ val removeMany : Belt_SetInt.t -> Belt_SetInt.elt array -> Belt_SetInt.t
+ val union : Belt_SetInt.t -> Belt_SetInt.t -> Belt_SetInt.t
+ val intersect : Belt_SetInt.t -> Belt_SetInt.t -> Belt_SetInt.t
+ val diff : Belt_SetInt.t -> Belt_SetInt.t -> Belt_SetInt.t
+ val subset : Belt_SetInt.t -> Belt_SetInt.t -> bool
+ val cmp : Belt_SetInt.t -> Belt_SetInt.t -> int
+ val eq : Belt_SetInt.t -> Belt_SetInt.t -> bool
+ val forEachU : Belt_SetInt.t -> (Belt_SetInt.elt -> unit [@bs]) -> unit
+ val forEach : Belt_SetInt.t -> (Belt_SetInt.elt -> unit) -> unit
+ val reduceU :
+ Belt_SetInt.t -> 'a -> ('a -> Belt_SetInt.elt -> 'a [@bs]) -> 'a
+ val reduce : Belt_SetInt.t -> 'a -> ('a -> Belt_SetInt.elt -> 'a) -> 'a
+ val everyU : Belt_SetInt.t -> (Belt_SetInt.elt -> bool [@bs]) -> bool
+ val every : Belt_SetInt.t -> (Belt_SetInt.elt -> bool) -> bool
+ val someU : Belt_SetInt.t -> (Belt_SetInt.elt -> bool [@bs]) -> bool
+ val some : Belt_SetInt.t -> (Belt_SetInt.elt -> bool) -> bool
+ val keepU :
+ Belt_SetInt.t -> (Belt_SetInt.elt -> bool [@bs]) -> Belt_SetInt.t
+ val keep : Belt_SetInt.t -> (Belt_SetInt.elt -> bool) -> Belt_SetInt.t
+ val partitionU :
+ Belt_SetInt.t ->
+ (Belt_SetInt.elt -> bool [@bs]) -> Belt_SetInt.t * Belt_SetInt.t
+ val partition :
+ Belt_SetInt.t ->
+ (Belt_SetInt.elt -> bool) -> Belt_SetInt.t * Belt_SetInt.t
+ val size : Belt_SetInt.t -> int
+ val toList : Belt_SetInt.t -> Belt_SetInt.elt list
+ val toArray : Belt_SetInt.t -> Belt_SetInt.elt array
+ val minimum : Belt_SetInt.t -> Belt_SetInt.elt option
+ val minUndefined : Belt_SetInt.t -> Belt_SetInt.elt Js.undefined
+ val maximum : Belt_SetInt.t -> Belt_SetInt.elt option
+ val maxUndefined : Belt_SetInt.t -> Belt_SetInt.elt Js.undefined
+ val get : Belt_SetInt.t -> Belt_SetInt.elt -> Belt_SetInt.elt option
+ val getUndefined :
+ Belt_SetInt.t -> Belt_SetInt.elt -> Belt_SetInt.elt Js.undefined
+ val getExn : Belt_SetInt.t -> Belt_SetInt.elt -> Belt_SetInt.elt
+ val split :
+ Belt_SetInt.t ->
+ Belt_SetInt.elt -> (Belt_SetInt.t * Belt_SetInt.t) * bool
+ val checkInvariantInternal : Belt_SetInt.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SetString.html b/docs/api/type_Belt_SetString.html
new file mode 100644
index 0000000000..9a34f3b38b
--- /dev/null
+++ b/docs/api/type_Belt_SetString.html
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+ Belt_SetString
+
+sig
+ type elt = string
+ type t
+ val empty : Belt_SetString.t
+ val ofArray : Belt_SetString.elt array -> Belt_SetString.t
+ val ofSortedArrayUnsafe : Belt_SetString.elt array -> Belt_SetString.t
+ val isEmpty : Belt_SetString.t -> bool
+ val has : Belt_SetString.t -> Belt_SetString.elt -> bool
+ val add : Belt_SetString.t -> Belt_SetString.elt -> Belt_SetString.t
+ val mergeMany :
+ Belt_SetString.t -> Belt_SetString.elt array -> Belt_SetString.t
+ val remove : Belt_SetString.t -> Belt_SetString.elt -> Belt_SetString.t
+ val removeMany :
+ Belt_SetString.t -> Belt_SetString.elt array -> Belt_SetString.t
+ val union : Belt_SetString.t -> Belt_SetString.t -> Belt_SetString.t
+ val intersect : Belt_SetString.t -> Belt_SetString.t -> Belt_SetString.t
+ val diff : Belt_SetString.t -> Belt_SetString.t -> Belt_SetString.t
+ val subset : Belt_SetString.t -> Belt_SetString.t -> bool
+ val cmp : Belt_SetString.t -> Belt_SetString.t -> int
+ val eq : Belt_SetString.t -> Belt_SetString.t -> bool
+ val forEachU :
+ Belt_SetString.t -> (Belt_SetString.elt -> unit [@bs]) -> unit
+ val forEach : Belt_SetString.t -> (Belt_SetString.elt -> unit) -> unit
+ val reduceU :
+ Belt_SetString.t -> 'a -> ('a -> Belt_SetString.elt -> 'a [@bs]) -> 'a
+ val reduce :
+ Belt_SetString.t -> 'a -> ('a -> Belt_SetString.elt -> 'a) -> 'a
+ val everyU : Belt_SetString.t -> (Belt_SetString.elt -> bool [@bs]) -> bool
+ val every : Belt_SetString.t -> (Belt_SetString.elt -> bool) -> bool
+ val someU : Belt_SetString.t -> (Belt_SetString.elt -> bool [@bs]) -> bool
+ val some : Belt_SetString.t -> (Belt_SetString.elt -> bool) -> bool
+ val keepU :
+ Belt_SetString.t ->
+ (Belt_SetString.elt -> bool [@bs]) -> Belt_SetString.t
+ val keep :
+ Belt_SetString.t -> (Belt_SetString.elt -> bool) -> Belt_SetString.t
+ val partitionU :
+ Belt_SetString.t ->
+ (Belt_SetString.elt -> bool [@bs]) -> Belt_SetString.t * Belt_SetString.t
+ val partition :
+ Belt_SetString.t ->
+ (Belt_SetString.elt -> bool) -> Belt_SetString.t * Belt_SetString.t
+ val size : Belt_SetString.t -> int
+ val toList : Belt_SetString.t -> Belt_SetString.elt list
+ val toArray : Belt_SetString.t -> Belt_SetString.elt array
+ val minimum : Belt_SetString.t -> Belt_SetString.elt option
+ val minUndefined : Belt_SetString.t -> Belt_SetString.elt Js.undefined
+ val maximum : Belt_SetString.t -> Belt_SetString.elt option
+ val maxUndefined : Belt_SetString.t -> Belt_SetString.elt Js.undefined
+ val get :
+ Belt_SetString.t -> Belt_SetString.elt -> Belt_SetString.elt option
+ val getUndefined :
+ Belt_SetString.t -> Belt_SetString.elt -> Belt_SetString.elt Js.undefined
+ val getExn : Belt_SetString.t -> Belt_SetString.elt -> Belt_SetString.elt
+ val split :
+ Belt_SetString.t ->
+ Belt_SetString.elt -> (Belt_SetString.t * Belt_SetString.t) * bool
+ val checkInvariantInternal : Belt_SetString.t -> unit
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SortArray.Int.html b/docs/api/type_Belt_SortArray.Int.html
new file mode 100644
index 0000000000..084e9dbaad
--- /dev/null
+++ b/docs/api/type_Belt_SortArray.Int.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_SortArray.Int
+
+(module Belt_SortArrayInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_SortArray.String.html b/docs/api/type_Belt_SortArray.String.html
new file mode 100644
index 0000000000..510998101d
--- /dev/null
+++ b/docs/api/type_Belt_SortArray.String.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_SortArray.String
+
+(module Belt_SortArrayString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_SortArray.html b/docs/api/type_Belt_SortArray.html
new file mode 100644
index 0000000000..ae53ec7246
--- /dev/null
+++ b/docs/api/type_Belt_SortArray.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+ Belt_SortArray
+
+sig
+ module Int = Belt_SortArrayInt
+ module String = Belt_SortArrayString
+ val strictlySortedLengthU : 'a array -> ('a -> 'a -> bool [@bs]) -> int
+ val strictlySortedLength : 'a array -> ('a -> 'a -> bool) -> int
+ val isSortedU : 'a array -> ('a -> 'a -> int [@bs]) -> bool
+ val isSorted : 'a array -> ('a -> 'a -> int) -> bool
+ val stableSortInPlaceByU : 'a array -> ('a -> 'a -> int [@bs]) -> unit
+ val stableSortInPlaceBy : 'a array -> ('a -> 'a -> int) -> unit
+ val stableSortByU : 'a array -> ('a -> 'a -> int [@bs]) -> 'a array
+ val stableSortBy : 'a array -> ('a -> 'a -> int) -> 'a array
+ val binarySearchByU : 'a array -> 'a -> ('a -> 'a -> int [@bs]) -> int
+ val binarySearchBy : 'a array -> 'a -> ('a -> 'a -> int) -> int
+ val unionU :
+ 'a array ->
+ int ->
+ int ->
+ 'a array ->
+ int -> int -> 'a array -> int -> ('a -> 'a -> int [@bs]) -> int
+ val union :
+ 'a array ->
+ int ->
+ int ->
+ 'a array -> int -> int -> 'a array -> int -> ('a -> 'a -> int) -> int
+ val intersectU :
+ 'a array ->
+ int ->
+ int ->
+ 'a array ->
+ int -> int -> 'a array -> int -> ('a -> 'a -> int [@bs]) -> int
+ val intersect :
+ 'a array ->
+ int ->
+ int ->
+ 'a array -> int -> int -> 'a array -> int -> ('a -> 'a -> int) -> int
+ val diffU :
+ 'a array ->
+ int ->
+ int ->
+ 'a array ->
+ int -> int -> 'a array -> int -> ('a -> 'a -> int [@bs]) -> int
+ val diff :
+ 'a array ->
+ int ->
+ int ->
+ 'a array -> int -> int -> 'a array -> int -> ('a -> 'a -> int) -> int
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SortArrayInt.html b/docs/api/type_Belt_SortArrayInt.html
new file mode 100644
index 0000000000..d1c2846b0b
--- /dev/null
+++ b/docs/api/type_Belt_SortArrayInt.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+ Belt_SortArrayInt
+
+sig
+ type element = int
+ val strictlySortedLength : Belt_SortArrayInt.element array -> int
+ val isSorted : Belt_SortArrayInt.element array -> bool
+ val stableSortInPlace : Belt_SortArrayInt.element array -> unit
+ val stableSort :
+ Belt_SortArrayInt.element array -> Belt_SortArrayInt.element array
+ val binarySearch :
+ Belt_SortArrayInt.element array -> Belt_SortArrayInt.element -> int
+ val union :
+ Belt_SortArrayInt.element array ->
+ int ->
+ int ->
+ Belt_SortArrayInt.element array ->
+ int -> int -> Belt_SortArrayInt.element array -> int -> int
+ val intersect :
+ Belt_SortArrayInt.element array ->
+ int ->
+ int ->
+ Belt_SortArrayInt.element array ->
+ int -> int -> Belt_SortArrayInt.element array -> int -> int
+ val diff :
+ Belt_SortArrayInt.element array ->
+ int ->
+ int ->
+ Belt_SortArrayInt.element array ->
+ int -> int -> Belt_SortArrayInt.element array -> int -> int
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_SortArrayString.html b/docs/api/type_Belt_SortArrayString.html
new file mode 100644
index 0000000000..9208b1a877
--- /dev/null
+++ b/docs/api/type_Belt_SortArrayString.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+ Belt_SortArrayString
+
+sig
+ type element = string
+ val strictlySortedLength : Belt_SortArrayString.element array -> int
+ val isSorted : Belt_SortArrayString.element array -> bool
+ val stableSortInPlace : Belt_SortArrayString.element array -> unit
+ val stableSort :
+ Belt_SortArrayString.element array -> Belt_SortArrayString.element array
+ val binarySearch :
+ Belt_SortArrayString.element array -> Belt_SortArrayString.element -> int
+ val union :
+ Belt_SortArrayString.element array ->
+ int ->
+ int ->
+ Belt_SortArrayString.element array ->
+ int -> int -> Belt_SortArrayString.element array -> int -> int
+ val intersect :
+ Belt_SortArrayString.element array ->
+ int ->
+ int ->
+ Belt_SortArrayString.element array ->
+ int -> int -> Belt_SortArrayString.element array -> int -> int
+ val diff :
+ Belt_SortArrayString.element array ->
+ int ->
+ int ->
+ Belt_SortArrayString.element array ->
+ int -> int -> Belt_SortArrayString.element array -> int -> int
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalAVLset.html b/docs/api/type_Belt_internalAVLset.html
new file mode 100644
index 0000000000..cf00302ea8
--- /dev/null
+++ b/docs/api/type_Belt_internalAVLset.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+ Belt_internalAVLset
+
+sig
+ type 'elt t = 'elt node Js.null
+ and 'elt node
+ external leftSet : 'elt node -> 'elt t -> unit = "left" "BS-EXTERNAL"
+ external left : 'elt node -> 'elt t = "left" "BS-EXTERNAL"
+ external key : 'elt node -> 'elt = "key" "BS-EXTERNAL"
+ external rightSet : 'elt node -> 'elt t -> unit = "right" "BS-EXTERNAL"
+ external right : 'elt node -> 'elt t = "right" "BS-EXTERNAL"
+ external h : 'elt node -> int = "h" "BS-EXTERNAL"
+ type ('a, 'b) cmp = ('a, 'b) Belt_Id.cmp
+ external toOpt : 'a Js.null -> 'a option = "#null_to_opt"
+ external return : 'a -> 'a Js.null = "%identity"
+ val copy : 'a t -> 'a t
+ val create : 'a t -> 'a -> 'a t -> 'a t
+ val bal : 'a t -> 'a -> 'a t -> 'a t
+ val singleton : 'a -> 'a t
+ val minimum : 'a t -> 'a option
+ val minUndefined : 'a t -> 'a Js.undefined
+ val maximum : 'a t -> 'a option
+ val maxUndefined : 'a t -> 'a Js.undefined
+ val removeMinAuxWithRef : 'a node -> 'a Pervasives.ref -> 'a t
+ val empty : 'a t
+ val isEmpty : 'a t -> bool
+ val stackAllLeft : 'a t -> 'a node list -> 'a node list
+ val forEachU : 'a t -> ('a -> unit [@bs]) -> unit
+ val forEach : 'a t -> ('a -> unit) -> unit
+ val reduceU : 'a t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+ val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
+ val everyU : 'a t -> ('a -> bool [@bs]) -> bool
+ val every : 'a t -> ('a -> bool) -> bool
+ val someU : 'a t -> ('a -> bool [@bs]) -> bool
+ val some : 'a t -> ('a -> bool) -> bool
+ val joinShared : 'a t -> 'a -> 'a t -> 'a t
+ val concatShared : 'a t -> 'a t -> 'a t
+ val keepSharedU : 'a t -> ('a -> bool [@bs]) -> 'a t
+ val keepShared : 'a t -> ('a -> bool) -> 'a t
+ val keepCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t
+ val keepCopy : 'a t -> ('a -> bool) -> 'a t
+ val partitionSharedU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+ val partitionShared : 'a t -> ('a -> bool) -> 'a t * 'a t
+ val partitionCopyU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
+ val partitionCopy : 'a t -> ('a -> bool) -> 'a t * 'a t
+ val lengthNode : 'a node -> int
+ val size : 'a t -> int
+ val toList : 'a t -> 'a list
+ val checkInvariantInternal : 'a t -> unit
+ val fillArray : 'a node -> int -> 'a array -> int
+ val toArray : 'a t -> 'a array
+ val ofSortedArrayAux : 'a array -> int -> int -> 'a t
+ val ofSortedArrayRevAux : 'a array -> int -> int -> 'a t
+ val ofSortedArrayUnsafe : 'a array -> 'a t
+ val has : 'a t -> 'a -> cmp:('a, 'b) Belt_internalAVLset.cmp -> bool
+ val cmp : 'a t -> 'a t -> cmp:('a, 'b) Belt_internalAVLset.cmp -> int
+ val eq : 'a t -> 'a t -> cmp:('a, 'b) Belt_internalAVLset.cmp -> bool
+ val subset : 'a t -> 'a t -> cmp:('a, 'b) Belt_internalAVLset.cmp -> bool
+ val get : 'a t -> 'a -> cmp:('a, 'b) Belt_internalAVLset.cmp -> 'a option
+ val getUndefined :
+ 'a t -> 'a -> cmp:('a, 'b) Belt_internalAVLset.cmp -> 'a Js.undefined
+ val getExn : 'a t -> 'a -> cmp:('a, 'b) Belt_internalAVLset.cmp -> 'a
+ val ofArray : 'a array -> cmp:('a, 'b) Belt_internalAVLset.cmp -> 'a t
+ val addMutate : cmp:('a, 'b) Belt_internalAVLset.cmp -> 'a t -> 'a -> 'a t
+ val balMutate : 'a node -> 'a node
+ val removeMinAuxWithRootMutate : 'a node -> 'a node -> 'a t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalAVLtree.html b/docs/api/type_Belt_internalAVLtree.html
new file mode 100644
index 0000000000..211dbcd8a8
--- /dev/null
+++ b/docs/api/type_Belt_internalAVLtree.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+ Belt_internalAVLtree
+
+sig
+ type ('key, 'a) t = ('key, 'a) node Js.null
+ and ('k, 'v) node
+ external leftSet : ('k, 'v) node -> ('k, 'v) t -> unit = "left"
+ "BS-EXTERNAL"
+ external left : ('k, 'v) node -> ('k, 'v) t = "left" "BS-EXTERNAL"
+ external keySet : ('k, 'v) node -> 'k -> unit = "key" "BS-EXTERNAL"
+ external key : ('k, 'v) node -> 'k = "key" "BS-EXTERNAL"
+ external valueSet : ('k, 'v) node -> 'v -> unit = "value" "BS-EXTERNAL"
+ external value : ('k, 'v) node -> 'v = "value" "BS-EXTERNAL"
+ external rightSet : ('k, 'v) node -> ('k, 'v) t -> unit = "right"
+ "BS-EXTERNAL"
+ external right : ('k, 'v) node -> ('k, 'v) t = "right" "BS-EXTERNAL"
+ external h : ('k, 'v) node -> int = "h" "BS-EXTERNAL"
+ external toOpt : 'a Js.null -> 'a option = "#null_to_opt"
+ external return : 'a -> 'a Js.null = "%identity"
+ type ('k, 'id) cmp = ('k, 'id) Belt_Id.cmp
+ val copy : ('k, 'v) t -> ('k, 'v) t
+ val create : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+ val bal : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+ val singleton : 'a -> 'b -> ('a, 'b) t
+ val updateValue : ('k, 'v) node -> 'v -> ('k, 'v) node
+ val minKey : ('a, 'b) t -> 'a option
+ val minKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+ val maxKey : ('a, 'b) t -> 'a option
+ val maxKeyUndefined : ('a, 'b) t -> 'a Js.undefined
+ val minimum : ('a, 'b) t -> ('a * 'b) option
+ val minUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+ val maximum : ('a, 'b) t -> ('a * 'b) option
+ val maxUndefined : ('a, 'b) t -> ('a * 'b) Js.undefined
+ val removeMinAuxWithRef :
+ ('a, 'b) node -> 'a Pervasives.ref -> 'b Pervasives.ref -> ('a, 'b) t
+ val empty : ('a, 'b) t
+ val isEmpty : ('a, 'b) t -> bool
+ val stackAllLeft : ('a, 'b) t -> ('a, 'b) node list -> ('a, 'b) node list
+ val forEachU : ('a, 'b) t -> ('a -> 'b -> unit [@bs]) -> unit
+ val forEach : ('a, 'b) t -> ('a -> 'b -> unit) -> unit
+ val mapU : ('c, 'a) t -> ('a -> 'b [@bs]) -> ('c, 'b) t
+ val map : ('c, 'a) t -> ('a -> 'b) -> ('c, 'b) t
+ val mapWithKeyU : ('a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> ('a, 'c) t
+ val mapWithKey : ('a, 'b) t -> ('a -> 'b -> 'c) -> ('a, 'c) t
+ val reduceU : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+ val reduce : ('a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+ val everyU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+ val every : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+ val someU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> bool
+ val some : ('a, 'b) t -> ('a -> 'b -> bool) -> bool
+ val join : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t
+ val concat : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) t
+ val concatOrJoin :
+ ('a, 'b) t -> 'a -> 'b option -> ('a, 'b) t -> ('a, 'b) t
+ val keepSharedU : ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t
+ val keepShared : ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t
+ val keepMapU : ('a, 'b) t -> ('a -> 'b -> 'c option [@bs]) -> ('a, 'c) t
+ val keepMap : ('a, 'b) t -> ('a -> 'b -> 'c option) -> ('a, 'c) t
+ val partitionSharedU :
+ ('a, 'b) t -> ('a -> 'b -> bool [@bs]) -> ('a, 'b) t * ('a, 'b) t
+ val partitionShared :
+ ('a, 'b) t -> ('a -> 'b -> bool) -> ('a, 'b) t * ('a, 'b) t
+ val lengthNode : ('a, 'b) node -> int
+ val size : ('a, 'b) t -> int
+ val toList : ('a, 'b) t -> ('a * 'b) list
+ val checkInvariantInternal : ('a, 'b) t -> unit
+ val fillArray : ('a, 'b) node -> int -> ('a * 'b) array -> int
+ val toArray : ('a, 'b) t -> ('a * 'b) array
+ val keysToArray : ('a, 'b) t -> 'a array
+ val valuesToArray : ('a, 'b) t -> 'b array
+ val ofSortedArrayAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+ val ofSortedArrayRevAux : ('a * 'b) array -> int -> int -> ('a, 'b) t
+ val ofSortedArrayUnsafe : ('a * 'b) array -> ('a, 'b) t
+ val cmpU :
+ ('a, 'b) t ->
+ ('a, 'c) t ->
+ kcmp:('a, 'd) Belt_internalAVLtree.cmp ->
+ vcmp:('b -> 'c -> int [@bs]) -> int
+ val cmp :
+ ('a, 'b) t ->
+ ('a, 'c) t ->
+ kcmp:('a, 'd) Belt_internalAVLtree.cmp -> vcmp:('b -> 'c -> int) -> int
+ val eqU :
+ ('a, 'b) t ->
+ ('a, 'c) t ->
+ kcmp:('a, 'd) Belt_internalAVLtree.cmp ->
+ veq:('b -> 'c -> bool [@bs]) -> bool
+ val eq :
+ ('a, 'b) t ->
+ ('a, 'c) t ->
+ kcmp:('a, 'd) Belt_internalAVLtree.cmp -> veq:('b -> 'c -> bool) -> bool
+ val get :
+ ('a, 'b) t -> 'a -> cmp:('a, 'c) Belt_internalAVLtree.cmp -> 'b option
+ val getUndefined :
+ ('a, 'b) t ->
+ 'a -> cmp:('a, 'c) Belt_internalAVLtree.cmp -> 'b Js.undefined
+ val getWithDefault :
+ ('a, 'b) t -> 'a -> 'b -> cmp:('a, 'c) Belt_internalAVLtree.cmp -> 'b
+ val getExn :
+ ('a, 'b) t -> 'a -> cmp:('a, 'c) Belt_internalAVLtree.cmp -> 'b
+ val has : ('a, 'b) t -> 'a -> cmp:('a, 'c) Belt_internalAVLtree.cmp -> bool
+ val ofArray :
+ ('a * 'b) array -> cmp:('a, 'id) Belt_internalAVLtree.cmp -> ('a, 'b) t
+ val updateMutate :
+ ('a, 'b) t ->
+ 'a -> 'b -> cmp:('a, 'id) Belt_internalAVLtree.cmp -> ('a, 'b) t
+ val balMutate : ('a, 'b) node -> ('a, 'b) node
+ val removeMinAuxWithRootMutate :
+ ('a, 'b) node -> ('a, 'b) node -> ('a, 'b) t
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalBuckets.C.html b/docs/api/type_Belt_internalBuckets.C.html
new file mode 100644
index 0000000000..2227deaea4
--- /dev/null
+++ b/docs/api/type_Belt_internalBuckets.C.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalBuckets.C
+
+(module Belt_internalBucketsType)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalBuckets.html b/docs/api/type_Belt_internalBuckets.html
new file mode 100644
index 0000000000..05dcd92312
--- /dev/null
+++ b/docs/api/type_Belt_internalBuckets.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+ Belt_internalBuckets
+
+sig
+ module C = Belt_internalBucketsType
+ type ('a, 'b) bucket
+ and ('hash, 'eq, 'a, 'b) t = ('hash, 'eq, ('a, 'b) bucket) C.container
+ external bucket :
+ key:'a -> value:'b -> next:('a, 'b) bucket C.opt -> ('a, 'b) bucket = ""
+ "BS-EXTERNAL"
+ external keySet : ('a, 'b) bucket -> 'a -> unit = "key" "BS-EXTERNAL"
+ external key : ('a, 'b) bucket -> 'a = "key" "BS-EXTERNAL"
+ external valueSet : ('a, 'b) bucket -> 'b -> unit = "value" "BS-EXTERNAL"
+ external value : ('a, 'b) bucket -> 'b = "value" "BS-EXTERNAL"
+ external nextSet : ('a, 'b) bucket -> ('a, 'b) bucket C.opt -> unit
+ = "next" "BS-EXTERNAL"
+ external next : ('a, 'b) bucket -> ('a, 'b) bucket C.opt = "next"
+ "BS-EXTERNAL"
+ val copy : ('hash, 'eq, 'a, 'b) t -> ('hash, 'eq, 'a, 'b) t
+ val forEachU : ('d, 'e, 'a, 'b) t -> ('a -> 'b -> 'c [@bs]) -> unit
+ val forEach : ('d, 'e, 'a, 'b) t -> ('a -> 'b -> 'c) -> unit
+ val reduceU :
+ ('d, 'e, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
+ val reduce : ('d, 'e, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
+ val logStats : ('a, 'b, 'c, 'd) t -> unit
+ val keepMapInPlaceU :
+ ('c, 'd, 'a, 'b) t -> ('a -> 'b -> 'b option [@bs]) -> unit
+ val keepMapInPlace : ('c, 'd, 'a, 'b) t -> ('a -> 'b -> 'b option) -> unit
+ val fillArray : int -> ('a * 'b) array -> ('a, 'b) bucket -> int
+ val keysToArray : ('b, 'c, 'a, 'd) t -> 'a array
+ val valuesToArray : ('a, 'c, 'd, 'b) t -> 'b array
+ val toArray : ('c, 'd, 'a, 'b) t -> ('a * 'b) array
+ val getBucketHistogram : ('a, 'b, 'c, 'd) t -> int array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalBucketsType.html b/docs/api/type_Belt_internalBucketsType.html
new file mode 100644
index 0000000000..4961a570a5
--- /dev/null
+++ b/docs/api/type_Belt_internalBucketsType.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+ Belt_internalBucketsType
+
+sig
+ type 'a opt = 'a Js.undefined
+ type ('hash, 'eq, 'c) container
+ external container :
+ size:int ->
+ buckets:'c opt array ->
+ hash:'hash -> eq:'eq -> ('hash, 'eq, 'c) container = "" "BS-EXTERNAL"
+ external sizeSet : ('hash, 'eq, 'c) container -> int -> unit = "size"
+ "BS-EXTERNAL"
+ external size : ('hash, 'eq, 'c) container -> int = "size" "BS-EXTERNAL"
+ external bucketsSet : ('hash, 'eq, 'c) container -> 'c opt array -> unit
+ = "buckets" "BS-EXTERNAL"
+ external buckets : ('hash, 'eq, 'c) container -> 'c opt array = "buckets"
+ "BS-EXTERNAL"
+ external hash : ('hash, 'eq, 'c) container -> 'hash = "hash" "BS-EXTERNAL"
+ external eq : ('hash, 'eq, 'c) container -> 'eq = "eq" "BS-EXTERNAL"
+ external toOpt : 'a Belt_internalBucketsType.opt -> 'a option
+ = "#undefined_to_opt"
+ external return : 'a -> 'a Belt_internalBucketsType.opt = "%identity"
+ val emptyOpt : 'a Js.undefined
+ val make :
+ hash:'hash -> eq:'eq -> hintSize:int -> ('hash, 'eq, 'a) container
+ val clear : ('a, 'b, 'c) container -> unit
+ val isEmpty : ('a, 'b, 'c) container -> bool
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapInt.A.html b/docs/api/type_Belt_internalMapInt.A.html
new file mode 100644
index 0000000000..9ab062dab3
--- /dev/null
+++ b/docs/api/type_Belt_internalMapInt.A.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapInt.A
+
+(module Belt_Array)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapInt.N.html b/docs/api/type_Belt_internalMapInt.N.html
new file mode 100644
index 0000000000..3751a7afd7
--- /dev/null
+++ b/docs/api/type_Belt_internalMapInt.N.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapInt.N
+
+(module Belt_internalAVLtree)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapInt.S.html b/docs/api/type_Belt_internalMapInt.S.html
new file mode 100644
index 0000000000..c2adddf5bb
--- /dev/null
+++ b/docs/api/type_Belt_internalMapInt.S.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapInt.S
+
+(module Belt_SortArray)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapInt.html b/docs/api/type_Belt_internalMapInt.html
new file mode 100644
index 0000000000..a3f08d5f57
--- /dev/null
+++ b/docs/api/type_Belt_internalMapInt.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapInt
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapString.A.html b/docs/api/type_Belt_internalMapString.A.html
new file mode 100644
index 0000000000..7c12925ac7
--- /dev/null
+++ b/docs/api/type_Belt_internalMapString.A.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapString.A
+
+(module Belt_Array)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapString.N.html b/docs/api/type_Belt_internalMapString.N.html
new file mode 100644
index 0000000000..679951b2a2
--- /dev/null
+++ b/docs/api/type_Belt_internalMapString.N.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapString.N
+
+(module Belt_internalAVLtree)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapString.S.html b/docs/api/type_Belt_internalMapString.S.html
new file mode 100644
index 0000000000..f2e8eec12b
--- /dev/null
+++ b/docs/api/type_Belt_internalMapString.S.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapString.S
+
+(module Belt_SortArray)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMapString.html b/docs/api/type_Belt_internalMapString.html
new file mode 100644
index 0000000000..db1a53840f
--- /dev/null
+++ b/docs/api/type_Belt_internalMapString.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMapString
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalMutableAVLMap.html b/docs/api/type_Belt_internalMutableAVLMap.html
new file mode 100644
index 0000000000..44e6e24994
--- /dev/null
+++ b/docs/api/type_Belt_internalMutableAVLMap.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalMutableAVLMap
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetBuckets.C.html b/docs/api/type_Belt_internalSetBuckets.C.html
new file mode 100644
index 0000000000..a1637f0361
--- /dev/null
+++ b/docs/api/type_Belt_internalSetBuckets.C.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetBuckets.C
+
+(module Belt_internalBucketsType)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetBuckets.html b/docs/api/type_Belt_internalSetBuckets.html
new file mode 100644
index 0000000000..c5befd88d3
--- /dev/null
+++ b/docs/api/type_Belt_internalSetBuckets.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetBuckets
+
+sig
+ module C = Belt_internalBucketsType
+ type 'a bucket
+ and ('hash, 'eq, 'a) t = ('hash, 'eq, 'a bucket) C.container
+ external bucket : key:'a -> next:'a bucket C.opt -> 'a bucket = ""
+ "BS-EXTERNAL"
+ external keySet : 'a bucket -> 'a -> unit = "key" "BS-EXTERNAL"
+ external key : 'a bucket -> 'a = "key" "BS-EXTERNAL"
+ external nextSet : 'a bucket -> 'a bucket C.opt -> unit = "next"
+ "BS-EXTERNAL"
+ external next : 'a bucket -> 'a bucket C.opt = "next" "BS-EXTERNAL"
+ val copy : ('hash, 'eq, 'a) t -> ('hash, 'eq, 'a) t
+ val forEachU : ('hash, 'eq, 'a) t -> ('a -> unit [@bs]) -> unit
+ val forEach : ('hash, 'eq, 'a) t -> ('a -> unit) -> unit
+ val fillArray : int -> 'a array -> 'a bucket -> int
+ val toArray : ('b, 'c, 'a) t -> 'a array
+ val reduceU : ('c, 'd, 'a) t -> 'b -> ('b -> 'a -> 'b [@bs]) -> 'b
+ val reduce : ('c, 'd, 'a) t -> 'b -> ('b -> 'a -> 'b) -> 'b
+ val logStats : ('a, 'b, 'c) t -> unit
+ val getBucketHistogram : ('a, 'b, 'c) t -> int array
+end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetInt.A.html b/docs/api/type_Belt_internalSetInt.A.html
new file mode 100644
index 0000000000..83a54e9041
--- /dev/null
+++ b/docs/api/type_Belt_internalSetInt.A.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetInt.A
+
+(module Belt_Array)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetInt.N.html b/docs/api/type_Belt_internalSetInt.N.html
new file mode 100644
index 0000000000..f899b4e8da
--- /dev/null
+++ b/docs/api/type_Belt_internalSetInt.N.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetInt.N
+
+(module Belt_internalAVLset)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetInt.S.html b/docs/api/type_Belt_internalSetInt.S.html
new file mode 100644
index 0000000000..c76e57d143
--- /dev/null
+++ b/docs/api/type_Belt_internalSetInt.S.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetInt.S
+
+(module Belt_SortArrayInt)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetInt.html b/docs/api/type_Belt_internalSetInt.html
new file mode 100644
index 0000000000..a7f44f2fd9
--- /dev/null
+++ b/docs/api/type_Belt_internalSetInt.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetInt
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetString.A.html b/docs/api/type_Belt_internalSetString.A.html
new file mode 100644
index 0000000000..ad2acc78d0
--- /dev/null
+++ b/docs/api/type_Belt_internalSetString.A.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetString.A
+
+(module Belt_Array)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetString.N.html b/docs/api/type_Belt_internalSetString.N.html
new file mode 100644
index 0000000000..318337a362
--- /dev/null
+++ b/docs/api/type_Belt_internalSetString.N.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetString.N
+
+(module Belt_internalAVLset)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetString.S.html b/docs/api/type_Belt_internalSetString.S.html
new file mode 100644
index 0000000000..3e5f62fca8
--- /dev/null
+++ b/docs/api/type_Belt_internalSetString.S.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetString.S
+
+(module Belt_SortArrayString)
\ No newline at end of file
diff --git a/docs/api/type_Belt_internalSetString.html b/docs/api/type_Belt_internalSetString.html
new file mode 100644
index 0000000000..ee6904d4ef
--- /dev/null
+++ b/docs/api/type_Belt_internalSetString.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Belt_internalSetString
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Js.Console.html b/docs/api/type_Js.Console.html
new file mode 100644
index 0000000000..0a67c65cbb
--- /dev/null
+++ b/docs/api/type_Js.Console.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Js.Console
+
+(module Js_console)
\ No newline at end of file
diff --git a/docs/api/type_Js_console.html b/docs/api/type_Js_console.html
new file mode 100644
index 0000000000..36a5007f90
--- /dev/null
+++ b/docs/api/type_Js_console.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ Js_console
+
+sig end
\ No newline at end of file
diff --git a/docs/api/type_Js_mapperRt.html b/docs/api/type_Js_mapperRt.html
new file mode 100644
index 0000000000..36e01020b4
--- /dev/null
+++ b/docs/api/type_Js_mapperRt.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+ Js_mapperRt
+
+sig
+ val binarySearch : int -> int -> (int * 'a) array -> 'a
+ val revSearch : int -> (int * string) array -> string -> int option
+ val revSearchAssert : int -> (int * string) array -> string -> int
+ val toInt : int -> int array -> int
+ val fromInt : int -> int array -> int -> int option
+ val fromIntAssert : int -> int array -> int -> int
+end
\ No newline at end of file
diff --git a/jscomp/common/bs_version.ml b/jscomp/common/bs_version.ml
index a0e8a041bd..5904f82214 100644
--- a/jscomp/common/bs_version.ml
+++ b/jscomp/common/bs_version.ml
@@ -22,8 +22,8 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
\ No newline at end of file
diff --git a/lib/bsb.ml b/lib/bsb.ml
index 77a345422b..9d7edb9a70 100644
--- a/lib/bsb.ml
+++ b/lib/bsb.ml
@@ -55,9 +55,9 @@ end = struct
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
end
diff --git a/lib/bsb_helper.ml b/lib/bsb_helper.ml
index e406cfca95..fa5854ae8a 100644
--- a/lib/bsb_helper.ml
+++ b/lib/bsb_helper.ml
@@ -177,9 +177,9 @@ end = struct
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
end
diff --git a/lib/bsdep.ml b/lib/bsdep.ml
index ea5547ad68..5dec84995a 100644
--- a/lib/bsdep.ml
+++ b/lib/bsdep.ml
@@ -55,9 +55,9 @@ end = struct
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
end
diff --git a/lib/bsppx.ml b/lib/bsppx.ml
index b4443e885b..564a86d50c 100644
--- a/lib/bsppx.ml
+++ b/lib/bsppx.ml
@@ -15823,9 +15823,9 @@ end = struct
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
end
diff --git a/lib/whole_compiler.ml b/lib/whole_compiler.ml
index 3da4684bd3..253165a756 100644
--- a/lib/whole_compiler.ml
+++ b/lib/whole_compiler.ml
@@ -55,9 +55,9 @@ end = struct
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
-let version = "2.2.0"
+let version = "2.2.1"
let header =
- "// Generated by BUCKLESCRIPT VERSION 2.2.0, PLEASE EDIT WITH CARE"
+ "// Generated by BUCKLESCRIPT VERSION 2.2.1, PLEASE EDIT WITH CARE"
let package_name = "bs-platform"
end
diff --git a/package.json b/package.json
index 37d6ad911f..48b2c22496 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,7 @@
"postinstall": "node scripts/install.js"
},
"name": "bs-platform",
- "version": "2.2.0",
+ "version": "2.2.1",
"description": "bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support",
"repository": {
"type": "git",
diff --git a/scripts/win_build.bat b/scripts/win_build.bat
index 851345becb..1efe3d4939 100644
--- a/scripts/win_build.bat
+++ b/scripts/win_build.bat
@@ -1,282 +1,351 @@
cd stdlib
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c camlinternalFormatBasics.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c pervasives.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c array.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c list.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c char.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bytes.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c string.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sys.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sort.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c marshal.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int32.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c obj.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int64.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c nativeint.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lexing.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c parsing.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c set.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c map.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stack.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c queue.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalLazy.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lazy.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stream.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c buffer.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalFormat.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printf.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c arg.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printexc.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c gc.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c digest.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c random.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c hashtbl.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c format.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c scanf.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c callback.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c camlinternalOO.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c oo.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalMod.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c genlex.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c weak.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c filename.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c complex.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c arrayLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c listLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bytesLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stringLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c moreLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stdLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c unix.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c unixLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bigarray.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c camlinternalFormatBasics.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c pervasives.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c array.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c list.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c char.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bytes.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c string.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sys.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sort.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c marshal.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int32.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c obj.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int64.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c nativeint.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lexing.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c parsing.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c set.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c map.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stack.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c queue.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalLazy.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lazy.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stream.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c buffer.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalFormat.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printf.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c arg.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printexc.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c gc.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c digest.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c random.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c hashtbl.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c format.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c scanf.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c callback.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c camlinternalOO.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c oo.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalMod.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c genlex.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c weak.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c filename.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c complex.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c arrayLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c listLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bytesLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stringLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c moreLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stdLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c unix.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c unixLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bigarray.mli
cd ..
cd runtime
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_builtin_exceptions.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_internal.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_unsafe.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_builtin_exceptions.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c block.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c block.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_unsafe.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_array.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_array.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c bs_string.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_string.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_string.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_bytes.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_bytes.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_null.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_null.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c bs_obj.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_obj.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_obj.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_typed_array.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_float.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_utils.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_utils.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_int32.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_int32.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_int64.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_int64.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_exceptions.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_exceptions.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_undefined.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_undefined.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_sys.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_sys.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c curry.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_io.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_float.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_float.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_lexer.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_lexer.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_parser.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_parser.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_primitive.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_primitive.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_nativeint.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_int64.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_format.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_format.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_md5.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_md5.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_queue.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_queue.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_hash.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_hash.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_primitive.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_primitive.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_weak.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_weak.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_backtrace.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_backtrace.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_gc.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_gc.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_basic.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_basic.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_oo.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_oo.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_oo_curry.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_module.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_missing_polyfill.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c caml_missing_polyfill.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_exn.mli
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_exn.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_int.ml
-..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49 -bin-annot -c js_internal.ml
-cd ..
-cd stdlib
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c camlinternalFormatBasics.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c pervasives.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c camlinternalFormatBasics.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c pervasives.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c array.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c array.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c list.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c list.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c char.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c char.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bytes.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bytes.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c string.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c string.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sys.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sys.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sort.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c sort.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c marshal.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c marshal.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int32.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c obj.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int32.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c obj.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int64.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c int64.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c nativeint.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c nativeint.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lexing.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lexing.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c parsing.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c parsing.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c set.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c set.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c map.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c map.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stack.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stack.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c queue.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c queue.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalLazy.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalLazy.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lazy.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c lazy.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stream.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stream.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c buffer.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c buffer.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalFormat.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalFormat.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printf.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printf.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c arg.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c arg.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printexc.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c printexc.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c gc.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c gc.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c digest.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c digest.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c random.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c random.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c hashtbl.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c hashtbl.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c format.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c format.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c scanf.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c scanf.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c callback.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c callback.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nopervasives -c camlinternalOO.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalOO.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c oo.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c oo.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalMod.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c camlinternalMod.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c genlex.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c genlex.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c weak.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c weak.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c filename.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c filename.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c complex.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c complex.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c arrayLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c arrayLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c listLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c listLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bytesLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c bytesLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stringLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c stringLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c moreLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c moreLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c stdLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c stdLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c unix.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c unix.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c unixLabels.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -nolabels -no-alias-deps -c unixLabels.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bigarray.mli
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c bigarray.ml
-..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-ml -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -c std_exit.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_builtin_exceptions.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_internal.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_unsafe.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_builtin_exceptions.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c block.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c block.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_unsafe.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_primitive.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_primitive.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_array.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_array.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c bs_string.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_string.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_string.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_bytes.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_bytes.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_exceptions.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_exceptions.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_exn.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_exn.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_null.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_null.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c bs_obj.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_obj.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_obj.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_typed_array.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_float.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_utils.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_utils.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_int32.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_int32.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_int64.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_int64.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_undefined.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_undefined.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_sys.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_sys.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c curry.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_io.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_float.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_float.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_lexer.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_lexer.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_parser.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_parser.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_nativeint.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_int64.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_format.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_format.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_md5.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_md5.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_queue.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_queue.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_hash.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_hash.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_primitive.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_primitive.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_weak.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_weak.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_backtrace.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_backtrace.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_gc.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_gc.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_basic.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_basic.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_oo.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_oo.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_oo_curry.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_module.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_missing_polyfill.mli
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c caml_missing_polyfill.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_int.ml
+..\..\lib\bsc.exe -absname -no-alias-deps -bs-no-version-header -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\stdlib -nostdlib -nopervasives -open Pervasives -unsafe -warn-error A -w -40-49-103 -bin-annot -c js_internal.ml
cd ..
cd others
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c bs.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_path.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_re.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_array.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_string.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_fs.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_dict.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_dict.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_process.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_process.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_module.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_null_undefined.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_null_undefined.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_buffer.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_types.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_types.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_json.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_json.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_obj.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_vector.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_vector.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_list.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_list.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_option.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_option.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_result.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_result.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_mapperRt.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_mapperRt.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c bs_dyn.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c bs_dyn.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c bs_dyn_lib.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c bs_dyn_lib.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_child_process.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_boolean.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_boolean.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_math.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_date.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_global.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_cast.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_cast.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_promise.ml
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c dom_storage.mli
-..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c dom.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_path.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_re.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_array.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_string.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_fs.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_dict.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_dict.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_process.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_process.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_module.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_null_undefined.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_null_undefined.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_buffer.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_types.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_types.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_json.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_json.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_obj.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_vector.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_vector.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_list.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_list.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_option.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_option.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_console.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_result.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_result.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_mapperRt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_mapperRt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_math.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Array.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Array.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArrayString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArrayString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArrayInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArrayInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArray.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SortArray.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Id.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Id.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalAVLset.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalAVLset.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalAVLtree.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalAVLtree.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_List.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_List.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Range.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Range.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalBucketsType.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalBucketsType.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalSetBuckets.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalSetBuckets.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalBuckets.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalBuckets.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMapString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMapString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMapInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMapInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMap.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashMap.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSetString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSetString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSetInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSetInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSet.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_HashSet.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapDict.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapDict.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetDict.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetDict.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalMapString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalMapInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MapInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Map.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Map.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalSetString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_internalSetInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_SetInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Set.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_Set.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSetString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSetString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSetInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSetInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSet.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableSet.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMapString.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMapString.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMapInt.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMapInt.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMap.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableMap.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableStack.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableStack.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableQueue.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c belt_MutableQueue.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c node_child_process.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_boolean.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_boolean.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_date.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_global.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_cast.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_cast.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c js_promise.ml
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c dom_storage.mli
+..\..\lib\bsc.exe -no-alias-deps -bs-no-version-header -absname -bs-no-check-div-by-zero -bs-cross-module-opt -bs-noassertfalse -bs-package-name bs-platform -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -I ..\runtime -I ..\stdlib -w +3-40-49 -warn-error A -bin-annot -c dom.mli
+cd ..
+cd stdlib
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c camlinternalFormatBasics.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c pervasives.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c camlinternalFormatBasics.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c pervasives.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c array.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c array.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c list.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c list.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c char.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c char.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bytes.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bytes.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c string.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c string.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sys.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sys.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sort.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c sort.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c marshal.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c marshal.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int32.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c obj.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int32.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c obj.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int64.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c int64.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c nativeint.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c nativeint.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lexing.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lexing.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c parsing.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c parsing.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c set.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c set.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c map.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c map.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stack.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stack.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c queue.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c queue.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalLazy.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalLazy.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lazy.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c lazy.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stream.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stream.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c buffer.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c buffer.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalFormat.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalFormat.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printf.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printf.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c arg.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c arg.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printexc.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c printexc.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c gc.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c gc.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c digest.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c digest.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c random.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c random.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c hashtbl.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c hashtbl.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c format.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c format.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c scanf.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c scanf.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c callback.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c callback.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nopervasives -c camlinternalOO.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalOO.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c oo.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c oo.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalMod.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c camlinternalMod.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c genlex.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c genlex.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c weak.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c weak.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c filename.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c filename.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c complex.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c complex.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c arrayLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c arrayLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c listLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c listLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bytesLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c bytesLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stringLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c stringLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c moreLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c moreLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c stdLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c stdLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c unix.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c unix.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c unixLabels.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -nolabels -no-alias-deps -c unixLabels.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bigarray.mli
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c bigarray.ml
+..\..\lib\bsc.exe -bs-no-version-header -bs-no-builtin-ppx-mli -bs-no-check-div-by-zero -bs-cross-module-opt -bs-package-name bs-platform -bs-no-warn-unimplemented-external -nostdlib -bs-package-output commonjs:lib\js -bs-package-output amdjs:lib\amdjs -bs-package-output es6:lib\es6 -strict-sequence -w +33..39-102 -g -nostdlib -safe-string -I ..\runtime -I ..\others -c std_exit.ml
cd ..
\ No newline at end of file