base
-
library base
-
module Base
-
module Applicative
-
module type Applicative_infix
-
module type Applicative_infix2
-
module type Applicative_infix3
-
module type Basic
-
module type Basic2
-
module type Basic2_using_map2
-
module type Basic3
-
module type Basic3_using_map2
-
module type Basic_using_map2
-
module Compose
-
argument 1-F
-
module Applicative_infix
-
-
argument 2-G
-
module Applicative_infix
-
-
module Applicative_infix
-
-
module type Let_syntax
-
module Let_syntax
-
module Let_syntax
-
-
module Open_on_rhs_intf
-
-
module type Let_syntax2
-
module Let_syntax
-
module Let_syntax
-
-
module Open_on_rhs_intf
-
-
module type Let_syntax3
-
module Let_syntax
-
module Let_syntax
-
-
module Open_on_rhs_intf
-
-
module Make
-
argument 1-X
-
module Applicative_infix
-
-
module Make2
-
argument 1-X
-
module Applicative_infix
-
-
module Make2_using_map2
-
argument 1-X
-
module Applicative_infix
-
-
module Make3
-
argument 1-X
-
module Applicative_infix
-
-
module Make3_using_map2
-
argument 1-X
-
module Applicative_infix
-
-
module Make_let_syntax
-
argument 1-X
-
argument 2-Intf
-
module Let_syntax
-
module Let_syntax
-
-
-
module Make_let_syntax2
-
argument 1-X
-
argument 2-Intf
-
module Let_syntax
-
module Let_syntax
-
-
-
module Make_let_syntax3
-
argument 1-X
-
argument 2-Intf
-
module Let_syntax
-
module Let_syntax
-
-
-
module Make_using_map2
-
argument 1-X
-
module Applicative_infix
-
-
module Of_monad
-
argument 1-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Applicative_infix
-
-
module Of_monad2
-
argument 1-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Applicative_infix
-
-
module Pair
-
argument 1-F
-
module Applicative_infix
-
-
argument 2-G
-
module Applicative_infix
-
-
module Applicative_infix
-
-
module type S
-
module Applicative_infix
-
-
module type S2
-
module Applicative_infix
-
-
module S2_to_S
-
argument 1-X
-
module Applicative_infix
-
-
module Applicative_infix
-
-
module S2_to_S3
-
argument 1-X
-
module Applicative_infix
-
-
module Applicative_infix
-
-
module type S3
-
module Applicative_infix
-
-
module S3_to_S2
-
argument 1-X
-
module Applicative_infix
-
-
module Applicative_infix
-
-
module S_to_S2
-
argument 1-X
-
module Applicative_infix
-
-
module Applicative_infix
-
-
-
module Array
-
module Avltree
-
module Binary_search
-
module Binary_searchable
-
module type Indexable
-
module type Indexable1
-
module type S
-
module type S1
-
module Which_target_by_key
-
module Which_target_by_segment
-
-
module Blit
-
module Make
-
argument 1-Sequence
-
-
module Make1
-
argument 1-Sequence
-
-
module Make1_generic
-
argument 1-Sequence
-
-
module Make_distinct
-
module Make_to_string
-
argument 1-T
-
argument 2-To_bytes
-
-
module type S
-
module type S1
-
module type S1_distinct
-
module type S_distinct
-
module type S_to_string
-
module type Sequence
-
module type Sequence1
-
-
module Bool
-
module Non_short_circuiting
-
-
module Bytes
-
module From_string
-
module To_string
-
-
module Comparable
-
module Make_using_comparator
-
argument 1-T
-
-
module Polymorphic_compare
-
argument 1-T
-
-
module type S
-
module type With_compare
-
module Comparisons
-
module Container
-
module Continue_or_stop
-
module type Generic
-
module type Generic_phantom
-
module type S0
-
module type S0_phantom
-
module type S1
-
module type S1_phantom
-
module type S1_phantom_invariant
-
module type Summable
-
-
module Continue_or_stop
-
module Either
-
module First
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type Focused
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Second
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
-
module Error
-
module Internal_repr
-
-
module Exn
-
module Export
-
module Field
-
module Fn
-
module Formatter
-
module Hash_set
-
module Hashtbl
-
module type Accessors
-
module type Equal_m
-
module type For_deriving
-
module type Equal_m
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module type Sexp_of_m
-
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module Merge_into_action
-
module type Multi
-
module Poly
-
module type S_poly
-
module type S_without_submodules
-
module type Sexp_of_m
-
-
module Identifiable
-
module type Arg
-
module type Arg_with_comparator
-
module Make_using_comparator
-
argument 1-M
-
-
module type S
-
-
module Info
-
module Internal_repr
-
module type S
-
module Internal_repr
-
-
-
module Int
-
module Hex
-
module type Int_without_module_types
-
module O
-
module type Operators
-
module type Operators_unbounded
-
module type Round
-
module type S_unbounded
-
-
module Int63
-
module Hex
-
module O
-
module Overflow_exn
-
-
module Lazy
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
module T_unforcing
-
-
module Linked_queue
-
module List
-
module Assoc
-
module Cartesian_product
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
module Or_unequal_lengths
-
-
module Map
-
module type Accessors1
-
module type Accessors2
-
module type Accessors3
-
module type Accessors3_with_comparator
-
module type Accessors_generic
-
module type Compare_m
-
module Continue_or_stop
-
module type Creators1
-
module type Creators2
-
module type Creators3_with_comparator
-
module type Creators_and_accessors1
-
module type Creators_and_accessors2
-
module type Creators_and_accessors3_with_comparator
-
module type Creators_and_accessors_generic
-
module type Creators_generic
-
module type Equal_m
-
module Finished_or_unfinished
-
module type For_deriving
-
module type Compare_m
-
module type Equal_m
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module type Sexp_of_m
-
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module Merge_element
-
module Or_duplicate
-
module Poly
-
module type S_poly
-
module type Sexp_of_m
-
module Symmetric_diff_element
-
module Using_comparator
-
module Empty_without_value_restriction
-
argument 1-K
-
-
module Tree
-
module Build_increasing
-
-
-
module With_comparator
-
module With_first_class_module
-
module Without_comparator
-
-
module Maybe_bound
-
module Monad
-
module type Basic
-
module type Basic2
-
module type Basic3
-
module type Basic_indexed
-
module Ident
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type Infix
-
module type Infix2
-
module type Infix3
-
module type Infix_indexed
-
module Make
-
argument 1-X
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Make2
-
argument 1-X
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Make3
-
argument 1-X
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Make_indexed
-
argument 1-X
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Of_monad
-
argument 1-Monad
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
argument 2-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Of_monad2
-
argument 1-Monad
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
argument 2-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Of_monad3
-
argument 1-Monad
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
argument 2-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Of_monad_indexed
-
argument 1-Monad
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
argument 2-M
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type S
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type S2
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type S3
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type S_indexed
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module type S_without_syntax
-
module Monad_infix
-
-
module type Syntax
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
-
module type Syntax2
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
-
module type Syntax3
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
-
module type Syntax_indexed
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
-
-
module Nothing
-
module Option
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Option_array
-
module Or_error
-
module Applicative_infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Ordered_collection_common
-
module Private
-
-
module Poly
-
module Popcount
-
module Pretty_printer
-
module Register_pp
-
argument 1-M
-
-
module type S
-
module Printf
-
module Result
-
module Error
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Export
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Sequence
-
module Expert
-
module Generator
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
-
module Infix
-
module Let_syntax
-
module Let_syntax
-
module Open_on_rhs
-
-
-
module Monad_infix
-
module Step
-
-
module Set
-
module type Accessors0
-
module Named
-
-
module type Accessors1
-
module Named
-
-
module type Accessors2
-
module Named
-
-
module type Accessors2_with_comparator
-
module Named
-
-
module type Accessors_generic
-
module Named
-
-
module type Compare_m
-
module type Creators0
-
module type Creators1
-
module type Creators2
-
module type Creators2_with_comparator
-
module type Creators_and_accessors0
-
module Named
-
-
module type Creators_and_accessors1
-
module Named
-
-
module type Creators_and_accessors2
-
module Named
-
-
module type Creators_and_accessors2_with_comparator
-
module Named
-
-
module type Creators_generic
-
module type Elt_plain
-
module type Equal_m
-
module type For_deriving
-
module type Compare_m
-
module type Equal_m
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module type Sexp_of_m
-
-
module type M_of_sexp
-
module type M_sexp_grammar
-
module Merge_to_sequence_element
-
module Named
-
module type Sexp_of_m
-
module Using_comparator
-
module Empty_without_value_restriction
-
argument 1-Elt
-
-
module Named
-
-
module With_comparator
-
module With_first_class_module
-
module Without_comparator
-
-
module Sexpable
-
module Of_sexpable
-
argument 1-Sexpable
-
argument 2-M
-
-
module Of_sexpable1
-
argument 1-Sexpable
-
argument 2-M
-
-
module Of_sexpable2
-
argument 1-Sexpable
-
argument 2-M
-
-
module Of_sexpable3
-
argument 1-Sexpable
-
argument 2-M
-
-
module Of_stringable
-
argument 1-M
-
-
module type S
-
module type S1
-
module type S2
-
module type S3
-
-
module Sign
-
module Sign_or_nan
-
module Source_code_position
-
module Staged
-
module String
-
module Caseless
-
module Escaping
-
module Search_pattern
-
-
module Stringable
-
module type S
-
-
module Sys
-
module type T1
-
module type T2
-
module type T3
-
module Type_equal
-
module type Injective
-
module type Injective2
-
module Uchar
-
module Uniform_array
-
module Unit
-
module Variant
-
module With_return
-
module Word_size
-
-
-
library base.base_internalhash_types
-
module Base_internalhash_types
-
-
library base.caml
-
module Caml
-
module In_channel
-
module Out_channel
-
-
-
library base.md5
-
module Md5_lib
-
-
library base.shadow_stdlib
-
module Shadow_stdlib
-
module In_channel
-
module Out_channel
-
-
include Container.S1_phantom_invariant
val length : ( _, _ ) t -> int
val is_empty : ( _, _ ) t -> bool
val iter : ( 'a, _ ) t -> f:( 'a -> unit ) -> unit
val fold : ( 'a, _ ) t -> init:'accum -> f:( 'accum -> 'a -> 'accum ) -> 'accum
fold t ~init ~f
returns f (... f (f (f init e1) e2) e3 ...) en
, where e1..en
are the elements of t
.
val fold_result :
( 'a, _ ) t ->
init:'accum ->
f:( 'accum -> 'a -> ( 'accum, 'e ) Result.t ) ->
( 'accum, 'e ) Result.t
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 exists : ( 'a, _ ) t -> f:( 'a -> bool ) -> bool
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 for_all : ( 'a, _ ) 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 count : ( 'a, _ ) t -> f:( 'a -> bool ) -> int
Returns the number of elements for which the provided function evaluates to true.
val sum :
(module Container.Summable with type t = 'sum) ->
( 'a, _ ) t ->
f:( 'a -> 'sum ) ->
'sum
Returns the sum of f i
for all i
in the container.
val find : ( 'a, _ ) t -> f:( 'a -> bool ) -> 'a option
Returns as an option
the first element for which f
evaluates to true.
val find_map : ( 'a, _ ) t -> f:( 'a -> 'b option ) -> 'b option
Returns the first evaluation of f
that returns Some
, and returns None
if there is no such element.
val to_list : ( 'a, _ ) t -> 'a list
val to_array : ( 'a, _ ) t -> 'a array
val invariants : ( _, _ ) t -> bool
val mem : ( 'a, _ ) t -> 'a -> bool
val symmetric_diff :
( 'a, 'cmp ) t ->
( 'a, 'cmp ) t ->
( 'a, 'a ) Either.t Sequence.t
module Named : sig ... end
val fold_until :
( 'a, _ ) t ->
init:'b ->
f:( 'b -> 'a -> ( 'b, 'final ) Container.Continue_or_stop.t ) ->
finish:( 'b -> 'final ) ->
'final
val fold_right : ( 'a, _ ) t -> init:'b -> f:( 'a -> 'b -> 'b ) -> 'b
val elements : ( 'a, _ ) t -> 'a list
val min_elt : ( 'a, _ ) t -> 'a option
val min_elt_exn : ( 'a, _ ) t -> 'a
val max_elt : ( 'a, _ ) t -> 'a option
val max_elt_exn : ( 'a, _ ) t -> 'a
val choose : ( 'a, _ ) t -> 'a option
val choose_exn : ( 'a, _ ) t -> 'a
val find_exn : ( 'a, _ ) t -> f:( 'a -> bool ) -> 'a
val nth : ( 'a, _ ) t -> int -> 'a option
val to_sequence :
?order:[ `Increasing | `Decreasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
( 'a, 'cmp ) t ->
'a Sequence.t
val binary_search :
( 'a, 'cmp ) t ->
compare:( 'a -> 'key -> int ) ->
Binary_searchable.Which_target_by_key.t ->
'key ->
'a option
val binary_search_segmented :
( 'a, 'cmp ) t ->
segment_of:( 'a -> [ `Left | `Right ] ) ->
Binary_searchable.Which_target_by_segment.t ->
'a option
val merge_to_sequence :
?order:[ `Increasing | `Decreasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
( 'a, 'cmp ) t ->
( 'a, 'cmp ) t ->
( 'a, 'a ) Sequence.Merge_with_duplicates_element.t Sequence.t
val empty : ( 'a, 'cmp ) t
val singleton : 'a -> ( 'a, 'cmp ) t
val of_list : 'a list -> ( 'a, 'cmp ) t
val of_sequence : 'a Sequence.t -> ( 'a, 'cmp ) t
val of_array : 'a array -> ( 'a, 'cmp ) t
val of_sorted_array : 'a array -> ( 'a, 'cmp ) t Or_error.t
val of_sorted_array_unchecked : 'a array -> ( 'a, 'cmp ) t
val of_increasing_iterator_unchecked :
len:int ->
f:( int -> 'a ) ->
( 'a, 'cmp ) t