package core
Industrial strength alternative to OCaml's standard library
Install
Dune Dependency
Authors
Maintainers
Sources
v0.17.1.tar.gz
md5=743a141234e04210e295980f7a78a6d9
sha512=61b415f4fb12c78d30649fff1aabe3a475eea926ce6edb7774031f4dc7f37ea51f5d9337ead6ec73cd93da5fd1ed0f2738c210c71ebc8fe9d7f6135a06bd176f
doc/src/core/container_intf.ml.html
Source file container_intf.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
(** This module extends {!Base.Container}. *) open! Import open Perms.Export open Base.Container module Continue_or_stop = Continue_or_stop module type S0_permissions = sig type elt type -'permissions t (** Checks whether the provided element is there. *) val mem : [> read ] t -> elt -> bool val length : [> read ] t -> int val is_empty : [> read ] t -> bool (** [iter t ~f] calls [f] on each element of [t]. *) val iter : [> read ] t -> f:(elt -> unit) -> unit (** [fold t ~init ~f] returns [f (... f (f (f init e1) e2) e3 ...) en], where [e1..en] are the elements of [t] *) val fold : [> read ] t -> init:'acc -> f:('acc -> elt -> 'acc) -> 'acc (** [fold_result t ~init ~f] is a short-circuiting version of [fold] that runs in the [Result] monad. If [f] returns an [Error _], that value is returned without any additional invocations of [f]. *) val fold_result : [> read ] t -> init:'acc -> f:('acc -> elt -> ('acc, 'e) Result.t) -> ('acc, 'e) Result.t (** [fold_until t ~init ~f ~finish] is a short-circuiting version of [fold]. If [f] returns [Stop _] the computation ceases and results in that value. If [f] returns [Continue _], the fold will proceed. If [f] never returns [Stop _], the final result is computed by [finish]. *) val fold_until : [> read ] t -> init:'acc -> f:('acc -> elt -> ('acc, 'final) Continue_or_stop.t) -> finish:('acc -> 'final) -> 'final (** Returns [true] if and only if there exists an element for which the provided function evaluates to [true]. This is a short-circuiting operation. *) val exists : [> read ] t -> f:(elt -> bool) -> bool (** Returns [true] if and only if the provided function evaluates to [true] for all elements. This is a short-circuiting operation. *) val for_all : [> read ] t -> f:(elt -> bool) -> bool (** Returns the number of elements for which the provided function evaluates to true. *) val count : [> read ] t -> f:(elt -> bool) -> int (** Returns the sum of [f i] for i in the container *) val sum : (module Summable with type t = 'sum) -> [> read ] t -> f:(elt -> 'sum) -> 'sum (** Returns as an [option] the first element for which [f] evaluates to true. *) val find : [> read ] t -> f:(elt -> bool) -> elt option (** Returns the first evaluation of [f] that returns [Some], and returns [None] if there is no such element. *) val find_map : [> read ] t -> f:(elt -> 'b option) -> 'b option val to_list : [> read ] t -> elt list val to_array : [> read ] t -> elt array (** Returns a min (resp max) element from the collection using the provided [compare] function. In case of a tie, the first element encountered while traversing the collection is returned. The implementation uses [fold] so it has the same complexity as [fold]. Returns [None] iff the collection is empty. *) val min_elt : [> read ] t -> compare:(elt -> elt -> int) -> elt option val max_elt : [> read ] t -> compare:(elt -> elt -> int) -> elt option end module type S1_permissions = sig type ('a, -'permissions) t (** Checks whether the provided element is there. *) val mem : ('a, [> read ]) t -> 'a -> equal:('a -> 'a -> bool) -> bool val length : (_, [> read ]) t -> int val is_empty : (_, [> read ]) t -> bool (** [iter t ~f] calls [f] on each element of [t]. *) val iter : ('a, [> read ]) t -> f:('a -> unit) -> unit (** [fold t ~init ~f] returns [f (... f (f (f init e1) e2) e3 ...) en], where [e1..en] are the elements of [t] *) val fold : ('a, [> read ]) t -> init:'acc -> f:('acc -> 'a -> 'acc) -> 'acc (** [fold_result t ~init ~f] is a short-circuiting version of [fold] that runs in the [Result] monad. If [f] returns an [Error _], that value is returned without any additional invocations of [f]. *) val fold_result : ('a, [> read ]) t -> init:'acc -> f:('acc -> 'a -> ('acc, 'e) Result.t) -> ('acc, 'e) Result.t (** [fold_until t ~init ~f ~finish] is a short-circuiting version of [fold]. If [f] returns [Stop _] the computation ceases and results in that value. If [f] returns [Continue _], the fold will proceed. If [f] never returns [Stop _], the final result is computed by [finish]. *) val fold_until : ('a, [> read ]) t -> init:'acc -> f:('acc -> 'a -> ('acc, 'final) Continue_or_stop.t) -> finish:('acc -> 'final) -> 'final (** Returns [true] if and only if there exists an element for which the provided function evaluates to [true]. This is a short-circuiting operation. *) val exists : ('a, [> read ]) t -> f:('a -> bool) -> bool (** Returns [true] if and only if the provided function evaluates to [true] for all elements. This is a short-circuiting operation. *) val for_all : ('a, [> read ]) t -> f:('a -> bool) -> bool (** Returns the number of elements for which the provided function evaluates to true. *) val count : ('a, [> read ]) t -> f:('a -> bool) -> int (** Returns the sum of [f i] for i in the container *) val sum : (module Summable with type t = 'sum) -> ('a, [> read ]) t -> f:('a -> 'sum) -> 'sum (** Returns as an [option] the first element for which [f] evaluates to true. *) val find : ('a, [> read ]) t -> f:('a -> bool) -> 'a option (** Returns the first evaluation of [f] that returns [Some], and returns [None] if there is no such element. *) val find_map : ('a, [> read ]) t -> f:('a -> 'b option) -> 'b option val to_list : ('a, [> read ]) t -> 'a list val to_array : ('a, [> read ]) t -> 'a array (** Returns a min (resp max) element from the collection using the provided [compare] function. In case of a tie, the first element encountered while traversing the collection is returned. The implementation uses [fold] so it has the same complexity as [fold]. Returns [None] iff the collection is empty. *) val min_elt : ('a, [> read ]) t -> compare:('a -> 'a -> int) -> 'a option val max_elt : ('a, [> read ]) t -> compare:('a -> 'a -> int) -> 'a option end module type S1_with_creators_permissions = sig include S1_permissions val of_list : 'a list -> ('a, [< _ perms ]) t val of_array : 'a array -> ('a, [< _ perms ]) t val append : ('a, [> read ]) t -> ('a, [> read ]) t -> ('a, [< _ perms ]) t val concat : (('a, [> read ]) t, [> read ]) t -> ('a, [< _ perms ]) t val map : ('a, [> read ]) t -> f:('a -> 'b) -> ('b, [< _ perms ]) t val filter : ('a, [> read ]) t -> f:('a -> bool) -> ('a, [< _ perms ]) t val filter_map : ('a, [> read ]) t -> f:('a -> 'b option) -> ('b, [< _ perms ]) t val concat_map : ('a, [> read ]) t -> f:('a -> ('b, [> read ]) t) -> ('b, [< _ perms ]) t val partition_tf : ('a, [> read ]) t -> f:('a -> bool) -> ('a, [< _ perms ]) t * ('a, [< _ perms ]) t val partition_map : ('a, [> read ]) t -> f:('a -> ('b, 'c) Either.t) -> ('b, [< _ perms ]) t * ('c, [< _ perms ]) t end module type Container = sig (** @open *) include module type of struct include Base.Container end module type S0_permissions = S0_permissions module type S1_permissions = S1_permissions module type S1_with_creators_permissions = S1_with_creators_permissions end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>