Module Await_kernel.Or_canceled

type ('a : void) t__void =
  1. | Canceled
  2. | Completed of 'a
and 'a t__'value_or_null_void' =
  1. | Canceled
  2. | Completed of 'a
and 'a t__'value_or_null_value_or_null' =
  1. | Canceled
  2. | Completed of 'a
and 'a t__''value_or_null_value_or_null'_value_or_null' =
  1. | Canceled
  2. | Completed of 'a
and ('a : value_or_null) t =
  1. | Canceled
  2. | Completed of 'a
val compare__void : 'a. (('a : void) -> ('a : void) -> Base.int) -> ('a : void) t__void -> ('a : void) t__void -> Base.int
val compare__void__local : 'a. (('a : void) @ local -> (('a : void) @ local -> Base.int) @ local) -> ('a : void) t__void @ local -> (('a : void) t__void @ local -> Base.int) @ local
val compare__'value_or_null_void' : 'a. ('a -> 'a -> Base.int) -> 'a t__'value_or_null_void' -> 'a t__'value_or_null_void' -> Base.int
val compare__'value_or_null_void'__local : 'a. ('a @ local -> ('a @ local -> Base.int) @ local) -> 'a t__'value_or_null_void' @ local -> ('a t__'value_or_null_void' @ local -> Base.int) @ local
val compare__'value_or_null_value_or_null' : 'a. ('a -> 'a -> Base.int) -> 'a t__'value_or_null_value_or_null' -> 'a t__'value_or_null_value_or_null' -> Base.int
val compare__'value_or_null_value_or_null'__local : 'a. ('a @ local -> ('a @ local -> Base.int) @ local) -> 'a t__'value_or_null_value_or_null' @ local -> ('a t__'value_or_null_value_or_null' @ local -> Base.int) @ local
val compare__''value_or_null_value_or_null'_value_or_null' : 'a. ('a -> 'a -> Base.int) -> 'a t__''value_or_null_value_or_null'_value_or_null' -> 'a t__''value_or_null_value_or_null'_value_or_null' -> Base.int
val compare__''value_or_null_value_or_null'_value_or_null'__local : 'a. ('a @ local -> ('a @ local -> Base.int) @ local) -> 'a t__''value_or_null_value_or_null'_value_or_null' @ local -> ('a t__''value_or_null_value_or_null'_value_or_null' @ local -> Base.int) @ local
val compare : 'a. (('a : value_or_null) -> ('a : value_or_null) -> Base.int) -> ('a : value_or_null) t -> ('a : value_or_null) t -> Base.int
val compare__local : 'a. (('a : value_or_null) @ local -> (('a : value_or_null) @ local -> Base.int) @ local) -> ('a : value_or_null) t @ local -> (('a : value_or_null) t @ local -> Base.int) @ local
val equal__void : 'a. (('a : void) -> ('a : void) -> Base.bool) -> ('a : void) t__void -> ('a : void) t__void -> Base.bool
val equal__void__local : 'a. (('a : void) @ local -> (('a : void) @ local -> Base.bool) @ local) -> ('a : void) t__void @ local -> (('a : void) t__void @ local -> Base.bool) @ local
val equal__'value_or_null_void' : 'a. ('a -> 'a -> Base.bool) -> 'a t__'value_or_null_void' -> 'a t__'value_or_null_void' -> Base.bool
val equal__'value_or_null_void'__local : 'a. ('a @ local -> ('a @ local -> Base.bool) @ local) -> 'a t__'value_or_null_void' @ local -> ('a t__'value_or_null_void' @ local -> Base.bool) @ local
val equal__'value_or_null_value_or_null' : 'a. ('a -> 'a -> Base.bool) -> 'a t__'value_or_null_value_or_null' -> 'a t__'value_or_null_value_or_null' -> Base.bool
val equal__'value_or_null_value_or_null'__local : 'a. ('a @ local -> ('a @ local -> Base.bool) @ local) -> 'a t__'value_or_null_value_or_null' @ local -> ('a t__'value_or_null_value_or_null' @ local -> Base.bool) @ local
val equal__''value_or_null_value_or_null'_value_or_null' : 'a. ('a -> 'a -> Base.bool) -> 'a t__''value_or_null_value_or_null'_value_or_null' -> 'a t__''value_or_null_value_or_null'_value_or_null' -> Base.bool
val equal__''value_or_null_value_or_null'_value_or_null'__local : 'a. ('a @ local -> ('a @ local -> Base.bool) @ local) -> 'a t__''value_or_null_value_or_null'_value_or_null' @ local -> ('a t__''value_or_null_value_or_null'_value_or_null' @ local -> Base.bool) @ local
val equal : 'a. (('a : value_or_null) -> ('a : value_or_null) -> Base.bool) -> ('a : value_or_null) t -> ('a : value_or_null) t -> Base.bool
val equal__local : 'a. (('a : value_or_null) @ local -> (('a : value_or_null) @ local -> Base.bool) @ local) -> ('a : value_or_null) t @ local -> (('a : value_or_null) t @ local -> Base.bool) @ local
val globalize__void : 'a. ('a @ local -> 'a) -> 'a t__void @ local -> 'a t__void
val globalize__'value_or_null_void' : 'a. ('a @ local -> 'a) -> 'a t__'value_or_null_void' @ local -> 'a t__'value_or_null_void'
val globalize__'value_or_null_value_or_null' : 'a. ('a @ local -> 'a) -> 'a t__'value_or_null_value_or_null' @ local -> 'a t__'value_or_null_value_or_null'
val globalize__''value_or_null_value_or_null'_value_or_null' : 'a. ('a @ local -> 'a) -> 'a t__''value_or_null_value_or_null'_value_or_null' @ local -> 'a t__''value_or_null_value_or_null'_value_or_null'
val globalize : 'a. ('a @ local -> 'a) -> 'a t @ local -> 'a t
val sexp_of_t__void : 'a. (('a : void) -> Sexplib0.Sexp.t) -> ('a : void) t__void -> Sexplib0.Sexp.t
val sexp_of_t__'value_or_null_void' : 'a. ('a -> Sexplib0.Sexp.t) -> 'a t__'value_or_null_void' -> Sexplib0.Sexp.t
val sexp_of_t__'value_or_null_value_or_null' : 'a. ('a -> Sexplib0.Sexp.t) -> 'a t__'value_or_null_value_or_null' -> Sexplib0.Sexp.t
val sexp_of_t__''value_or_null_value_or_null'_value_or_null' : 'a. ('a -> Sexplib0.Sexp.t) -> 'a t__''value_or_null_value_or_null'_value_or_null' -> Sexplib0.Sexp.t
val sexp_of_t : 'a. (('a : value_or_null) -> Sexplib0.Sexp.t) -> ('a : value_or_null) t -> Sexplib0.Sexp.t
val sexp_of_t__void__stack : 'a. (('a : void) @ local -> Sexplib0.Sexp.t @ local) -> ('a : void) t__void @ local -> Sexplib0.Sexp.t @ local
val sexp_of_t__'value_or_null_void'__stack : 'a. ('a @ local -> Sexplib0.Sexp.t @ local) -> 'a t__'value_or_null_void' @ local -> Sexplib0.Sexp.t @ local
val sexp_of_t__'value_or_null_value_or_null'__stack : 'a. ('a @ local -> Sexplib0.Sexp.t @ local) -> 'a t__'value_or_null_value_or_null' @ local -> Sexplib0.Sexp.t @ local
val sexp_of_t__''value_or_null_value_or_null'_value_or_null'__stack : 'a. ('a @ local -> Sexplib0.Sexp.t @ local) -> 'a t__''value_or_null_value_or_null'_value_or_null' @ local -> Sexplib0.Sexp.t @ local
val sexp_of_t__stack : 'a. (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) -> ('a : value_or_null) t @ local -> Sexplib0.Sexp.t @ local
val t_of_sexp__void : 'a. (Sexplib0.Sexp.t -> ('a : void)) -> Sexplib0.Sexp.t -> ('a : void) t__void
val t_of_sexp__'value_or_null_void' : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t__'value_or_null_void'
val t_of_sexp__'value_or_null_value_or_null' : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t__'value_or_null_value_or_null'
val t_of_sexp__''value_or_null_value_or_null'_value_or_null' : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t__''value_or_null_value_or_null'_value_or_null'
val t_of_sexp : 'a. (Sexplib0.Sexp.t -> ('a : value_or_null)) -> Sexplib0.Sexp.t -> ('a : value_or_null) t
val t_sexp_grammar__void : 'a. ('a : void) Sexplib0.Sexp_grammar.t -> ('a : void) t__void Sexplib0.Sexp_grammar.t @@ portable
val t_sexp_grammar__'value_or_null_void' : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a t__'value_or_null_void' Sexplib0.Sexp_grammar.t @@ portable
val t_sexp_grammar__'value_or_null_value_or_null' : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a t__'value_or_null_value_or_null' Sexplib0.Sexp_grammar.t @@ portable
val t_sexp_grammar__''value_or_null_value_or_null'_value_or_null' : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a t__''value_or_null_value_or_null'_value_or_null' Sexplib0.Sexp_grammar.t @@ portable
val t_sexp_grammar : 'a. ('a : value_or_null) Sexplib0.Sexp_grammar.t -> ('a : value_or_null) t Sexplib0.Sexp_grammar.t @@ portable
val hash_fold_t : 'a. (Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) t -> Ppx_hash_lib.Std.Hash.state
val completed_exn : 'a. 'a t -> 'a @@ portable

completed_exn t is a if t is Completed a, otherwise it raises

include Base.Monad.S__local with type 'a t := 'a t
val return : 'a 'i 'p 'q. 'a -> 'a t

Convert a value to a t.

val map : 'a 'b 'i 'j 'p 'q. 'a t -> f:('a -> 'b) @ local -> 'b t

Transforms the contents of a t.

val bind : 'a 'b 'i 'j 'k 'p 'q. 'a t -> f:('a -> 'b t) @ local -> 'b t

Sequences computations. bind t ~f computes f v for value(s) v in t. Well-behaved monads satisfy these "laws" (where ( >>= ) is the infix bind operator):

  • map t ~f is equivalent to bind t ~f:(fun x -> return (f x))
  • return x >>= f is equivalent to f x
  • t >>= return is equivalent to t
  • (t >>= f) >>= g is equivalent to t >>= fun x -> f x >>= g
val join : 'a 'i 'j 'k 'p 'q. 'a t t -> 'a t

Combines nested t into just one layer. Equivalent to bind t ~f:Fn.id.

val ignore_m : 'a 'i 'j 'p 'q. 'a t -> unit t

Ignores contained values of t. Equivalent to map t ~f:ignore.

val all : 'a 'i 'p 'q. 'a t list -> 'a list t

Combines a list of t.

val all_unit : 'i 'p 'q. unit t list -> unit t

Combines a list of t whose contents are unimportant.

val (>>=) : 'a 'b 'i 'j 'k 'p 'q. 'a t -> ('a -> 'b t) @ local -> 'b t

Infix bind.

val (>>|) : 'a 'b 'i 'j 'p 'q. 'a t -> ('a -> 'b) @ local -> 'b t

Infix map.

module Monad_infix : sig ... end
module Let_syntax : sig ... end
val never_completed : Base.Nothing.t t @ local -> Base.unit @@ portable

never_completed t can be used for an Or_canceled.t computation which either loops forever or is canceled.