Module Eager_deferred.List

type 'a monad
type 'a t
val foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b monad) -> 'b monad
val fold : 'a t -> init:'b -> f:('b -> 'a -> 'b monad) -> 'b monad
val find : 'a t -> f:('a -> bool monad) -> 'a option monad
val findi : 'a t -> f:(int -> 'a -> bool monad) -> (int * 'a) option monad
val find_map : 'a t -> f:('a -> 'b option monad) -> 'b option monad
val find_mapi : 'a t -> f:(int -> 'a -> 'b option monad) -> 'b option monad
val exists : 'a t -> f:('a -> bool monad) -> bool monad
val existsi : 'a t -> f:(int -> 'a -> bool monad) -> bool monad
val for_all : 'a t -> f:('a -> bool monad) -> bool monad
val for_alli : 'a t -> f:(int -> 'a -> bool monad) -> bool monad
val all : 'a monad t -> 'a t monad
val all_unit : unit monad t -> unit monad

Deferred iterators

In the following, the default how is `Sequential

val init : ?⁠how:Async_kernel.Monad_sequence.how -> int -> f:(int -> 'a monad) -> 'a t monad
val iter : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:('a -> unit monad) -> unit monad
val iteri : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:(int -> 'a -> unit monad) -> unit monad
val map : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:('a -> 'b monad) -> 'b t monad
val mapi : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:(int -> 'a -> 'b monad) -> 'b t monad
val filter : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:('a -> bool monad) -> 'a t monad
val filteri : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:(int -> 'a -> bool monad) -> 'a t monad
val filter_map : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:('a -> 'b option monad) -> 'b t monad
val filter_mapi : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:(int -> 'a -> 'b option monad) -> 'b t monad
val concat_map : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:('a -> 'b t monad) -> 'b t monad
val concat_mapi : ?⁠how:Async_kernel.Monad_sequence.how -> 'a t -> f:(int -> 'a -> 'b t monad) -> 'b t monad