Module type Indexed_foldable.OPERATION

Additional operations.

type ('a, 'index) t

The type held by the Indexable Foldable.

val reduce : (module Monoid.CORE with type t = 'm) -> ('m, 'index) t -> 'm

Reduce a Foldable using combine of the given monoid.

val fold_map : (module Monoid.CORE with type t = 'm) -> ('a -> 'm) -> ('a, 'index) t -> 'm

Same of CORE.fold_map' but using a monoid module instead of giving explicitly neutral and combine.

val fold_left : ('a -> 'b -> 'a) -> 'a -> ('b, 'index) t -> 'a

Same of List.fold_left for Foldable.

val for_all : ('a -> bool) -> ('a, 'index) t -> bool

Checks if all elements of the Foldable satisfy the given predicate.

val exists : ('a -> bool) -> ('a, 'index) t -> bool

Checks if at least on element of the Foldable satisfy the given predicate.

val length : ('a, 'index) t -> int

Count the number of elements in the Foldable.