diff --git a/api/Sequence.Map.Adapt.html b/api/Sequence.Map.Adapt.html new file mode 100644 index 0000000..07d6fd9 --- /dev/null +++ b/api/Sequence.Map.Adapt.html @@ -0,0 +1,41 @@ + + +
+ + + + + + + + + +module Adapt:
| Parameters: | +
+
|
+
type +'a map
+
+include Map.S
+val to_seq : 'a map -> (key * 'a) Sequence.tval of_seq : (key * 'a) Sequence.t -> 'a mapval keys : 'a map -> key Sequence.tval values : 'a map -> 'a Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Map.Make.html b/api/Sequence.Map.Make.html
new file mode 100644
index 0000000..cc1bcf8
--- /dev/null
+++ b/api/Sequence.Map.Make.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+module Make:
| Parameters: | +
+
|
+
type +'a map
+
+include Map.S
+val to_seq : 'a map -> (key * 'a) Sequence.tval of_seq : (key * 'a) Sequence.t -> 'a mapval keys : 'a map -> key Sequence.tval values : 'a map -> 'a Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Map.S.html b/api/Sequence.Map.S.html
new file mode 100644
index 0000000..6f4811d
--- /dev/null
+++ b/api/Sequence.Map.S.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+module type S =sig..end
type +'a map
+
+include Map.S
+val to_seq : 'a map -> (key * 'a) Sequence.tval of_seq : (key * 'a) Sequence.t -> 'a mapval keys : 'a map -> key Sequence.tval values : 'a map -> 'a Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Map.html b/api/Sequence.Map.html
new file mode 100644
index 0000000..3ff1f7b
--- /dev/null
+++ b/api/Sequence.Map.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+module Map:sig..end
module type S =sig..end
module Adapt:
module Make:
module Adapt:
| Parameters: | +
+
|
+
type set
+
+include Set.S
+val of_seq : elt Sequence.t -> setval to_seq : set -> elt Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Set.Make.html b/api/Sequence.Set.Make.html
new file mode 100644
index 0000000..4564c3d
--- /dev/null
+++ b/api/Sequence.Set.Make.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+module Make:
| Parameters: | +
+
|
+
type set
+
+include Set.S
+val of_seq : elt Sequence.t -> setval to_seq : set -> elt Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Set.S.html b/api/Sequence.Set.S.html
new file mode 100644
index 0000000..026fbc1
--- /dev/null
+++ b/api/Sequence.Set.S.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+module type S =sig..end
type set
+
+include Set.S
+val of_seq : elt Sequence.t -> setval to_seq : set -> elt Sequence.t
\ No newline at end of file
diff --git a/api/Sequence.Set.html b/api/Sequence.Set.html
new file mode 100644
index 0000000..5275185
--- /dev/null
+++ b/api/Sequence.Set.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+module Set:sig..end
module type S =sig..end
module Adapt:
module Make:
module TypeClass:sig..end
type ('a, 'b) sequenceable = {
+ |
+
+to_seq : |
+
+
+ |
+
+of_seq : |
+
+
type ('a, 'b) addable = {
+ |
+
+empty : |
+
+
+ |
+
+add : |
+
+
type+ +'amonoid =('a, 'a) addable
type ('a, 'b) iterable = {
+ |
+
+iter : |
+
+
val sequenceable : ('a, 'a Sequence.t) sequenceableval iterable : ('a, 'a Sequence.t) iterableval monoid : 'a Sequence.t monoidval of_iterable : ('a, 'b) iterable -> 'b -> 'a Sequence.tval to_addable : ('a, 'b) addable -> 'a Sequence.t -> 'b
\ No newline at end of file
diff --git a/api/Sequence.html b/api/Sequence.html
new file mode 100644
index 0000000..3454c9c
--- /dev/null
+++ b/api/Sequence.html
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+module Sequence:sig..end
type +'a t
+'a.val from_iter : (('a -> unit) -> unit) -> 'a tval empty : 'a tval singleton : 'a -> 'a tval repeat : 'a -> 'a tval iterate : ('a -> 'a) -> 'a -> 'a titerate f x is the infinite sequence (x, f(x), f(f(x)), ...)val forever : (unit -> 'b) -> 'b tval cycle : 'a t -> 'a tval iter : ('a -> unit) -> 'a t -> unitval iteri : (int -> 'a -> unit) -> 'a t -> unitval fold : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'bval foldi : ('b -> int -> 'a -> 'b) -> 'b -> 'a t -> 'bval map : ('a -> 'b) -> 'a t -> 'b tval mapi : (int -> 'a -> 'b) -> 'a t -> 'b tval for_all : ('a -> bool) -> 'a t -> boolval exists : ('a -> bool) -> 'a t -> boolval length : 'a t -> intval is_empty : 'a t -> boolval filter : ('a -> bool) -> 'a t -> 'a tval append : 'a t -> 'a t -> 'a tval concat : 'a t t -> 'a tval flatMap : ('a -> 'b t) -> 'a t -> 'b tconcat.val intersperse : 'a t -> 'a -> 'a tval persistent : 'a t -> 'a tval product : 'a t -> 'b t -> ('a * 'b) tpersistent on it, so that it can be traversed
+ several times (outer loop of the product)val unfoldr : ('b -> ('a * 'b) option) -> 'b -> 'a tunfoldr f b will apply f to b. If it
+ yields Some (x,b') then x is returned
+ and unfoldr recurses with b'.val max : ?lt:('a -> 'a -> bool) -> 'a t -> 'a -> 'aval min : ?lt:('a -> 'a -> bool) -> 'a t -> 'a -> 'aval take : int -> 'a t -> 'a tn elements from the sequenceval drop : int -> 'a t -> 'a tn first elements of the sequenceval rev : 'a t -> 'a tval to_list : 'a t -> 'a listval to_rev_list : 'a t -> 'a listval of_list : 'a list -> 'a tval to_array : 'a t -> 'a arrayval of_array : 'a array -> 'a tval of_array_i : 'a array -> (int * 'a) tval array_slice : 'a array -> int -> int -> 'a tarray_slice a i j Sequence of elements whose indexes range
+ from i to jval of_stream : 'a Stream.t -> 'a tval to_stack : 'a Stack.t -> 'a t -> unitval of_stack : 'a Stack.t -> 'a tStack.iter)val to_queue : 'a Queue.t -> 'a t -> unitval of_queue : 'a Queue.t -> 'a tval hashtbl_add : ('a, 'b) Hashtbl.t -> ('a * 'b) t -> unitval hashtbl_replace : ('a, 'b) Hashtbl.t -> ('a * 'b) t -> unitval to_hashtbl : ('a * 'b) t -> ('a, 'b) Hashtbl.tval of_hashtbl : ('a, 'b) Hashtbl.t -> ('a * 'b) tval hashtbl_keys : ('a, 'b) Hashtbl.t -> 'a tval hashtbl_values : ('a, 'b) Hashtbl.t -> 'b tval of_str : string -> char tval to_str : char t -> stringval of_in_channel : Pervasives.in_channel -> char tval to_buffer : char t -> Buffer.t -> unitval int_range : start:int -> stop:int -> int tstart...stop by steps 1val of_set : (module Set.S with type elt = 'a and type t = 'b) -> 'b -> 'a tval to_set : (module Set.S with type elt = 'a and type t = 'b) -> 'a t -> 'bmodule Set:sig..end
module Map:sig..end
val random_int : int -> int tval random_bool : bool tval random_float : float -> float tval random_array : 'a array -> 'a tval random_list : 'a list -> 'a tmodule TypeClass:sig..end
val pp_seq : ?sep:string ->
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit'a, using the given pretty printer
+ to print each elements. An optional separator string can be provided.| Sequence |
+Transient iterators, that abstract on a finite sequence of elements.
+
+ |
S | |
| S [Sequence.Map] | +|
| S [Sequence.Set] | +
A | |
| Adapt [Sequence.Map] | +
+Adapt a pre-existing Map module to make it sequence-aware
+
+ |
| Adapt [Sequence.Set] | +
+Create an enriched Set module from the given one
+
+ |
M | |
| Make [Sequence.Map] | +
+Create an enriched Map module, with sequence-aware functions
+
+ |
| Make [Sequence.Set] | +
+Functor to build an extended Set module from an ordered type
+
+ |
| Map [Sequence] | +|
S | |
| Sequence | +
+Transient iterators, that abstract on a finite sequence of elements.
+
+ |
| Set [Sequence] | +|
T | |
| TypeClass [Sequence] | +
A | |
| addable [Sequence.TypeClass] | +|
I | |
| iterable [Sequence.TypeClass] | +|
M | |
| map [Sequence.Map.S] | +|
| monoid [Sequence.TypeClass] | +|
S | |
| sequenceable [Sequence.TypeClass] | +
+Classes
+
+ |
| set [Sequence.Set.S] | +|
T | |
| t [Sequence] | +
+Sequence abstract iterator type, representing a finite sequence of
+ values of type
+'a.
+ |
A | |
| append [Sequence] | +
+Append two sequences
+
+ |
| array_slice [Sequence] | +
+
+array_slice a i j Sequence of elements whose indexes range
+ from i to j
+ |
C | |
| concat [Sequence] | +
+Concatenate a sequence of sequences into one sequence
+
+ |
| cycle [Sequence] | +
+Cycle forever through the given sequence.
+
+ |
D | |
| drop [Sequence] | +
+Drop the
+n first elements of the sequence
+ |
E | |
| empty [Sequence] | +
+Empty sequence
+
+ |
| exists [Sequence] | +
+Exists there some element satisfying the predicate?
+
+ |
F | |
| filter [Sequence] | +
+Filter on elements of the sequence
+
+ |
| flatMap [Sequence] | +
+Monadic bind.
+
+ |
| fold [Sequence] | +
+Fold over elements of the sequence, consuming it
+
+ |
| foldi [Sequence] | +
+Fold over elements of the sequence and their index, consuming it
+
+ |
| for_all [Sequence] | +
+Do all elements satisfy the predicate?
+
+ |
| forever [Sequence] | +
+Sequence that calls the given function to produce elements
+
+ |
| from_iter [Sequence] | +
+Build a sequence from a iter function
+
+ |
H | |
| hashtbl_add [Sequence] | +
+Add elements of the sequence to the hashtable, with
+ Hashtbl.add
+
+ |
| hashtbl_keys [Sequence] | +|
| hashtbl_replace [Sequence] | +
+Add elements of the sequence to the hashtable, with
+ Hashtbl.replace (erases conflicting bindings)
+
+ |
| hashtbl_values [Sequence] | +|
I | |
| int_range [Sequence] | +
+Iterator on integers in
+start...stop by steps 1
+ |
| intersperse [Sequence] | +
+Insert the second element between every element of the sequence
+
+ |
| is_empty [Sequence] | +
+Is the sequence empty?
+
+ |
| iter [Sequence] | +
+Consume the sequence, passing all its arguments to the function
+
+ |
| iterable [Sequence.TypeClass] | +|
| iterate [Sequence] | +
+
+iterate f x is the infinite sequence (x, f(x), f(f(x)), ...)
+ |
| iteri [Sequence] | +
+Iterate on elements and their index in the sequence
+
+ |
K | |
| keys [Sequence.Map.S] | +|
L | |
| length [Sequence] | +
+How long is the sequence?
+
+ |
M | |
| map [Sequence] | +
+Map objects of the sequence into other elements, lazily
+
+ |
| mapi [Sequence] | +
+Map objects, along with their index in the sequence
+
+ |
| max [Sequence] | +
+Max element of the sequence, using the given comparison
+ function.
+
+ |
| min [Sequence] | +
+Min element of the sequence, using the given comparison function
+
+ |
| monoid [Sequence.TypeClass] | +|
O | |
| of_array [Sequence] | +|
| of_array_i [Sequence] | +
+Elements of the array, with their index
+
+ |
| of_hashtbl [Sequence] | +
+Sequence of key/value pairs from the hashtable
+
+ |
| of_in_channel [Sequence] | +|
| of_iterable [Sequence.TypeClass] | +|
| of_list [Sequence] | +|
| of_queue [Sequence] | +
+Sequence of elements contained in the queue, FIFO order
+
+ |
| of_seq [Sequence.Map.S] | +|
| of_seq [Sequence.Set.S] | +|
| of_set [Sequence] | +
+Convert the given set to a sequence.
+
+ |
| of_stack [Sequence] | +
+Sequence of elements of the stack (same order as
+Stack.iter)
+ |
| of_str [Sequence] | +|
| of_stream [Sequence] | +
+Sequence of elements of a stream
+
+ |
P | |
| persistent [Sequence] | +
+Iterate on the sequence, storing elements in a data structure.
+
+ |
| pp_seq [Sequence] | +
+Pretty print a sequence of
+'a, using the given pretty printer
+ to print each elements.
+ |
| product [Sequence] | +
+Cartesian product of the sequences.
+
+ |
R | |
| random_array [Sequence] | +
+Sequence of choices of an element in the array
+
+ |
| random_bool [Sequence] | +|
| random_float [Sequence] | +|
| random_int [Sequence] | +|
| random_list [Sequence] | +|
| repeat [Sequence] | +
+Infinite sequence of the same element
+
+ |
| rev [Sequence] | +
+Reverse the sequence.
+
+ |
S | |
| sequenceable [Sequence.TypeClass] | +|
| singleton [Sequence] | +
+Singleton sequence
+
+ |
T | |
| take [Sequence] | +
+Take at most
+n elements from the sequence
+ |
| to_addable [Sequence.TypeClass] | +|
| to_array [Sequence] | +
+Convert to an array.
+
+ |
| to_buffer [Sequence] | +
+Copy content of the sequence into the buffer
+
+ |
| to_hashtbl [Sequence] | +
+Build a hashtable from a sequence of key/value pairs
+
+ |
| to_list [Sequence] | +|
| to_queue [Sequence] | +
+Push elements of the sequence into the queue
+
+ |
| to_rev_list [Sequence] | +
+Get the list of the reversed sequence (more efficient)
+
+ |
| to_seq [Sequence.Map.S] | +|
| to_seq [Sequence.Set.S] | +|
| to_set [Sequence] | +
+Convert the sequence to a set, given the proper set module
+
+ |
| to_stack [Sequence] | +
+Push elements of the sequence on the stack
+
+ |
| to_str [Sequence] | +|
U | |
| unfoldr [Sequence] | +
+
+unfoldr f b will apply f to b.
+ |
V | |
| values [Sequence.Map.S] | +
functor (M : Map.S) ->
+ sig
+ type 'a map = 'a M.t
+ type key = M.key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
\ No newline at end of file
diff --git a/api/type_Sequence.Map.Make.html b/api/type_Sequence.Map.Make.html
new file mode 100644
index 0000000..34b67f0
--- /dev/null
+++ b/api/type_Sequence.Map.Make.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+functor (V : Map.OrderedType) ->
+ sig
+ type +'a map
+ type key = V.t
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
\ No newline at end of file
diff --git a/api/type_Sequence.Map.S.html b/api/type_Sequence.Map.S.html
new file mode 100644
index 0000000..e52c7f4
--- /dev/null
+++ b/api/type_Sequence.Map.S.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+sig
+ type +'a map
+ type key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a Sequence.Map.S.map -> (key * 'a) Sequence.t
+ val of_seq : (key * 'a) Sequence.t -> 'a Sequence.Map.S.map
+ val keys : 'a Sequence.Map.S.map -> key Sequence.t
+ val values : 'a Sequence.Map.S.map -> 'a Sequence.t
+end
\ No newline at end of file
diff --git a/api/type_Sequence.Map.html b/api/type_Sequence.Map.html
new file mode 100644
index 0000000..e3ab51e
--- /dev/null
+++ b/api/type_Sequence.Map.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+sig
+ module type S =
+ sig
+ type +'a map
+ type key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a Sequence.Map.S.map -> (key * 'a) Sequence.t
+ val of_seq : (key * 'a) Sequence.t -> 'a Sequence.Map.S.map
+ val keys : 'a Sequence.Map.S.map -> key Sequence.t
+ val values : 'a Sequence.Map.S.map -> 'a Sequence.t
+ end
+ module Adapt :
+ functor (M : Map.S) ->
+ sig
+ type 'a map = 'a M.t
+ type key = M.key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
+ module Make :
+ functor (V : Map.OrderedType) ->
+ sig
+ type +'a map
+ type key = V.t
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
+end
\ No newline at end of file
diff --git a/api/type_Sequence.Set.Adapt.html b/api/type_Sequence.Set.Adapt.html
new file mode 100644
index 0000000..ac941bb
--- /dev/null
+++ b/api/type_Sequence.Set.Adapt.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+functor (X : Set.S) ->
+ sig
+ type set = X.t
+ type elt = X.elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
\ No newline at end of file
diff --git a/api/type_Sequence.Set.Make.html b/api/type_Sequence.Set.Make.html
new file mode 100644
index 0000000..5882212
--- /dev/null
+++ b/api/type_Sequence.Set.Make.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+functor (X : Set.OrderedType) ->
+ sig
+ type set
+ type elt = X.t
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
\ No newline at end of file
diff --git a/api/type_Sequence.Set.S.html b/api/type_Sequence.Set.S.html
new file mode 100644
index 0000000..7ac2b38
--- /dev/null
+++ b/api/type_Sequence.Set.S.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+sig
+ type set
+ type elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt Sequence.t -> Sequence.Set.S.set
+ val to_seq : Sequence.Set.S.set -> elt Sequence.t
+end
\ No newline at end of file
diff --git a/api/type_Sequence.Set.html b/api/type_Sequence.Set.html
new file mode 100644
index 0000000..b6d35fc
--- /dev/null
+++ b/api/type_Sequence.Set.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+sig
+ module type S =
+ sig
+ type set
+ type elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt Sequence.t -> Sequence.Set.S.set
+ val to_seq : Sequence.Set.S.set -> elt Sequence.t
+ end
+ module Adapt :
+ functor (X : Set.S) ->
+ sig
+ type set = X.t
+ type elt = X.elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
+ module Make :
+ functor (X : Set.OrderedType) ->
+ sig
+ type set
+ type elt = X.t
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
+end
\ No newline at end of file
diff --git a/api/type_Sequence.TypeClass.html b/api/type_Sequence.TypeClass.html
new file mode 100644
index 0000000..93c139f
--- /dev/null
+++ b/api/type_Sequence.TypeClass.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+sig
+ type ('a, 'b) sequenceable = {
+ to_seq : 'b -> 'a Sequence.t;
+ of_seq : 'a Sequence.t -> 'b;
+ }
+ type ('a, 'b) addable = { empty : 'b; add : 'b -> 'a -> 'b; }
+ type 'a monoid = ('a, 'a) Sequence.TypeClass.addable
+ type ('a, 'b) iterable = { iter : ('a -> unit) -> 'b -> unit; }
+ val sequenceable : ('a, 'a Sequence.t) Sequence.TypeClass.sequenceable
+ val iterable : ('a, 'a Sequence.t) Sequence.TypeClass.iterable
+ val monoid : 'a Sequence.t Sequence.TypeClass.monoid
+ val of_iterable :
+ ('a, 'b) Sequence.TypeClass.iterable -> 'b -> 'a Sequence.t
+ val to_addable : ('a, 'b) Sequence.TypeClass.addable -> 'a Sequence.t -> 'b
+end
\ No newline at end of file
diff --git a/api/type_Sequence.html b/api/type_Sequence.html
new file mode 100644
index 0000000..36346a6
--- /dev/null
+++ b/api/type_Sequence.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+
+sig
+ type +'a t
+ val from_iter : (('a -> unit) -> unit) -> 'a Sequence.t
+ val empty : 'a Sequence.t
+ val singleton : 'a -> 'a Sequence.t
+ val repeat : 'a -> 'a Sequence.t
+ val iterate : ('a -> 'a) -> 'a -> 'a Sequence.t
+ val forever : (unit -> 'b) -> 'b Sequence.t
+ val cycle : 'a Sequence.t -> 'a Sequence.t
+ val iter : ('a -> unit) -> 'a Sequence.t -> unit
+ val iteri : (int -> 'a -> unit) -> 'a Sequence.t -> unit
+ val fold : ('b -> 'a -> 'b) -> 'b -> 'a Sequence.t -> 'b
+ val foldi : ('b -> int -> 'a -> 'b) -> 'b -> 'a Sequence.t -> 'b
+ val map : ('a -> 'b) -> 'a Sequence.t -> 'b Sequence.t
+ val mapi : (int -> 'a -> 'b) -> 'a Sequence.t -> 'b Sequence.t
+ val for_all : ('a -> bool) -> 'a Sequence.t -> bool
+ val exists : ('a -> bool) -> 'a Sequence.t -> bool
+ val length : 'a Sequence.t -> int
+ val is_empty : 'a Sequence.t -> bool
+ val filter : ('a -> bool) -> 'a Sequence.t -> 'a Sequence.t
+ val append : 'a Sequence.t -> 'a Sequence.t -> 'a Sequence.t
+ val concat : 'a Sequence.t Sequence.t -> 'a Sequence.t
+ val flatMap : ('a -> 'b Sequence.t) -> 'a Sequence.t -> 'b Sequence.t
+ val intersperse : 'a Sequence.t -> 'a -> 'a Sequence.t
+ val persistent : 'a Sequence.t -> 'a Sequence.t
+ val product : 'a Sequence.t -> 'b Sequence.t -> ('a * 'b) Sequence.t
+ val unfoldr : ('b -> ('a * 'b) option) -> 'b -> 'a Sequence.t
+ val max : ?lt:('a -> 'a -> bool) -> 'a Sequence.t -> 'a -> 'a
+ val min : ?lt:('a -> 'a -> bool) -> 'a Sequence.t -> 'a -> 'a
+ val take : int -> 'a Sequence.t -> 'a Sequence.t
+ val drop : int -> 'a Sequence.t -> 'a Sequence.t
+ val rev : 'a Sequence.t -> 'a Sequence.t
+ val to_list : 'a Sequence.t -> 'a list
+ val to_rev_list : 'a Sequence.t -> 'a list
+ val of_list : 'a list -> 'a Sequence.t
+ val to_array : 'a Sequence.t -> 'a array
+ val of_array : 'a array -> 'a Sequence.t
+ val of_array_i : 'a array -> (int * 'a) Sequence.t
+ val array_slice : 'a array -> int -> int -> 'a Sequence.t
+ val of_stream : 'a Stream.t -> 'a Sequence.t
+ val to_stack : 'a Stack.t -> 'a Sequence.t -> unit
+ val of_stack : 'a Stack.t -> 'a Sequence.t
+ val to_queue : 'a Queue.t -> 'a Sequence.t -> unit
+ val of_queue : 'a Queue.t -> 'a Sequence.t
+ val hashtbl_add : ('a, 'b) Hashtbl.t -> ('a * 'b) Sequence.t -> unit
+ val hashtbl_replace : ('a, 'b) Hashtbl.t -> ('a * 'b) Sequence.t -> unit
+ val to_hashtbl : ('a * 'b) Sequence.t -> ('a, 'b) Hashtbl.t
+ val of_hashtbl : ('a, 'b) Hashtbl.t -> ('a * 'b) Sequence.t
+ val hashtbl_keys : ('a, 'b) Hashtbl.t -> 'a Sequence.t
+ val hashtbl_values : ('a, 'b) Hashtbl.t -> 'b Sequence.t
+ val of_str : string -> char Sequence.t
+ val to_str : char Sequence.t -> string
+ val of_in_channel : Pervasives.in_channel -> char Sequence.t
+ val to_buffer : char Sequence.t -> Buffer.t -> unit
+ val int_range : start:int -> stop:int -> int Sequence.t
+ val of_set :
+ (module Set.S with type elt = 'a and type t = 'b) -> 'b -> 'a Sequence.t
+ val to_set :
+ (module Set.S with type elt = 'a and type t = 'b) -> 'a Sequence.t -> 'b
+ module Set :
+ sig
+ module type S =
+ sig
+ type set
+ type elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt Sequence.t -> Sequence.Set.S.set
+ val to_seq : Sequence.Set.S.set -> elt Sequence.t
+ end
+ module Adapt :
+ functor (X : Set.S) ->
+ sig
+ type set = X.t
+ type elt = X.elt
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
+ module Make :
+ functor (X : Set.OrderedType) ->
+ sig
+ type set
+ type elt = X.t
+ val empty : set
+ val is_empty : set -> bool
+ val mem : elt -> set -> bool
+ val add : elt -> set -> set
+ val singleton : elt -> set
+ val remove : elt -> set -> set
+ val union : set -> set -> set
+ val inter : set -> set -> set
+ val diff : set -> set -> set
+ val compare : set -> set -> int
+ val equal : set -> set -> bool
+ val subset : set -> set -> bool
+ val iter : (elt -> unit) -> set -> unit
+ val fold : (elt -> 'a -> 'a) -> set -> 'a -> 'a
+ val for_all : (elt -> bool) -> set -> bool
+ val exists : (elt -> bool) -> set -> bool
+ val filter : (elt -> bool) -> set -> set
+ val partition : (elt -> bool) -> set -> set * set
+ val cardinal : set -> int
+ val elements : set -> elt list
+ val min_elt : set -> elt
+ val max_elt : set -> elt
+ val choose : set -> elt
+ val split : elt -> set -> set * bool * set
+ val of_seq : elt t -> set
+ val to_seq : set -> elt t
+ end
+ end
+ module Map :
+ sig
+ module type S =
+ sig
+ type +'a map
+ type key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a Sequence.Map.S.map -> (key * 'a) Sequence.t
+ val of_seq : (key * 'a) Sequence.t -> 'a Sequence.Map.S.map
+ val keys : 'a Sequence.Map.S.map -> key Sequence.t
+ val values : 'a Sequence.Map.S.map -> 'a Sequence.t
+ end
+ module Adapt :
+ functor (M : Map.S) ->
+ sig
+ type 'a map = 'a M.t
+ type key = M.key
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
+ module Make :
+ functor (V : Map.OrderedType) ->
+ sig
+ type +'a map
+ type key = V.t
+ val empty : 'a map
+ val is_empty : 'a map -> bool
+ val mem : key -> 'a map -> bool
+ val add : key -> 'a -> 'a map -> 'a map
+ val singleton : key -> 'a -> 'a map
+ val remove : key -> 'a map -> 'a map
+ val merge :
+ (key -> 'a option -> 'b option -> 'c option) ->
+ 'a map -> 'b map -> 'c map
+ val compare : ('a -> 'a -> int) -> 'a map -> 'a map -> int
+ val equal : ('a -> 'a -> bool) -> 'a map -> 'a map -> bool
+ val iter : (key -> 'a -> unit) -> 'a map -> unit
+ val fold : (key -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
+ val for_all : (key -> 'a -> bool) -> 'a map -> bool
+ val exists : (key -> 'a -> bool) -> 'a map -> bool
+ val filter : (key -> 'a -> bool) -> 'a map -> 'a map
+ val partition : (key -> 'a -> bool) -> 'a map -> 'a map * 'a map
+ val cardinal : 'a map -> int
+ val bindings : 'a map -> (key * 'a) list
+ val min_binding : 'a map -> key * 'a
+ val max_binding : 'a map -> key * 'a
+ val choose : 'a map -> key * 'a
+ val split : key -> 'a map -> 'a map * 'a option * 'a map
+ val find : key -> 'a map -> 'a
+ val map : ('a -> 'b) -> 'a map -> 'b map
+ val mapi : (key -> 'a -> 'b) -> 'a map -> 'b map
+ val to_seq : 'a map -> (key * 'a) t
+ val of_seq : (key * 'a) t -> 'a map
+ val keys : 'a map -> key t
+ val values : 'a map -> 'a t
+ end
+ end
+ val random_int : int -> int Sequence.t
+ val random_bool : bool Sequence.t
+ val random_float : float -> float Sequence.t
+ val random_array : 'a array -> 'a Sequence.t
+ val random_list : 'a list -> 'a Sequence.t
+ module TypeClass :
+ sig
+ type ('a, 'b) sequenceable = {
+ to_seq : 'b -> 'a Sequence.t;
+ of_seq : 'a Sequence.t -> 'b;
+ }
+ type ('a, 'b) addable = { empty : 'b; add : 'b -> 'a -> 'b; }
+ type 'a monoid = ('a, 'a) Sequence.TypeClass.addable
+ type ('a, 'b) iterable = { iter : ('a -> unit) -> 'b -> unit; }
+ val sequenceable : ('a, 'a Sequence.t) Sequence.TypeClass.sequenceable
+ val iterable : ('a, 'a Sequence.t) Sequence.TypeClass.iterable
+ val monoid : 'a Sequence.t Sequence.TypeClass.monoid
+ val of_iterable :
+ ('a, 'b) Sequence.TypeClass.iterable -> 'b -> 'a Sequence.t
+ val to_addable :
+ ('a, 'b) Sequence.TypeClass.addable -> 'a Sequence.t -> 'b
+ end
+ val pp_seq :
+ ?sep:string ->
+ (Format.formatter -> 'a -> unit) ->
+ Format.formatter -> 'a Sequence.t -> unit
+end
\ No newline at end of file
diff --git a/index.html b/index.html
index 20d3c32..923a0af 100644
--- a/index.html
+++ b/index.html
@@ -32,6 +32,7 @@