package async_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

All of the List functions that take a how argument treat it the following way:

`Sequential indicates both sequential evaluation of the deferreds, and sequential combination of the results.

`Parallel indicates parallel evaluation of the deferreds (in the sense that they are all in the scheduler at the same time), and parallel combination of the results. For example, List.iter ~how:`Parallel l ~f will call f on each element of l, creating all of the deferreds, then wait for _all_ of them to finish, then combine any errors (as in Or_error.combine_errors_unit).

`Max_concurrent_jobs n acts like `Parallel in the way it combines the results, but only evaluates n of the deferreds at a time.

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

Deferred iterators

In the following, the default how is `Sequential

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