Up

Module Deferred = Deferred1

Signature

include Deferred0
type +'a t = 'a Types.Deferred.t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
type 'a deferred = 'a t
include Core_kernel.Std.Invariant.S1 with type 'a t := 'a t
type 'a t
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val of_ivar : 'a Ivar0.t -> 'a t
val create : ('a Ivar0.t -> unit) -> 'a t
val peek : 'a t -> 'a option
val value_exn : 'a t -> 'a
val is_determined : _ t -> bool
val return : 'a -> 'a t
val upon : 'a t -> ('a -> unit) -> unit
val bind : 'a t -> ('a -> 'b t) -> 'b t
module Handler : sig .. end
val add_handler : 'a t -> ('a -> unit) -> Execution_context.t -> 'a Handler.t
val remove_handler : 'a t -> 'a Handler.t -> unit
val never : unit -> 'a Deferred0.t
val (>>=) : 'a Types.Deferred.t -> ('a -> 'b Types.Deferred.t) -> 'b Types.Deferred.t
val (>>|) : 'a Types.Deferred.t -> ('a -> 'b) -> 'b Types.Deferred.t
module Monad_infix : sig .. end
val bind : 'a Types.Deferred.t -> ('a -> 'b Types.Deferred.t) -> 'b Types.Deferred.t
val return : 'a -> 'a Types.Deferred.t
val map : 'a Types.Deferred.t -> f:('a -> 'b) -> 'b Types.Deferred.t
val ignore_m : 'a Types.Deferred.t -> unit Types.Deferred.t
val all : 'a Types.Deferred.t list -> 'a list Types.Deferred.t
val all_ignore : unit Types.Deferred.t list -> unit Types.Deferred.t
module Let_syntax : sig .. end
val all : [>
| `Make_sure_to_define_all_elsewhere
]
val unit : unit Types.Deferred.t
val ignore : 'a Types.Deferred.t -> unit Types.Deferred.t
val both : 'a t -> 'b t -> ('a * 'b) t
module Infix : sig .. end
val don't_wait_for : unit t -> unit
type +'a choice =
| Choice : 'b t * ('b -> 'a) -> 'a choice
module Unregister : sig .. end
val choice : 'a t -> ('a -> 'b) -> 'b choice
val choose_result : 'a choice list -> 'a
val any_f : 'a t Core_kernel.Std.List.t -> ('a -> 'b) -> 'b Deferred0.t
val any_unit : 'a t Core_kernel.Std.List.t -> unit Deferred0.t
val repeat_until_finished : 'a -> ('a -> [<
| `Finished of 'b
| `Repeat of 'a
] t) -> 'b t
val forever : 'a -> ('a -> 'a Types.Deferred.t) -> unit
type how = Monad_sequence.how
val sexp_of_how : how -> Sexplib.Sexp.t
module type Monad_sequence = Monad_sequence.S with type 'a monad := 'a t
val fold : 'a list -> init:'b -> f:('b -> 'a -> 'b t) -> 'b t
val seqmap : 'a list -> f:('a -> 'b Types.Deferred.t) -> 'b Core_kernel.Std.List.t Types.Deferred.t
val all_unit : unit t list -> unit Types.Deferred.t