sig
type 'a t = 'a Ivar.Deferred.t
val create : ('a Ivar.t -> unit) -> 'a t
val upon : 'a t -> ('a -> unit) -> unit
val peek : 'a t -> 'a option
val is_determined : 'a t -> bool
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
module Monad_infix :
sig
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
end
val bind : 'a t -> ('a -> 'b t) -> 'b t
val return : 'a -> 'a t
val map : 'a t -> f:('a -> 'b) -> 'b t
val join : 'a t t -> 'a t
val ignore : 'a t -> unit t
val all_ignore : unit t list -> unit t
module Infix :
sig
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
val ( >>> ) : 'a t -> ('a -> unit) -> unit
end
val unit : unit t
val never : unit -> 'a t
val both : 'a t -> 'b t -> ('a * 'b) t
val all : 'a t list -> 'a list t
val all_unit : unit t list -> unit t
val any : 'a t list -> 'a t
val any_unit : 'a t list -> unit t
module type Monad_sequence =
sig
type 'a t
val foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b t) -> 'b t
val fold : 'a t -> init:'b -> f:('b -> 'a -> 'b t) -> 'b t
val init : ?how:Deferred_intf.how -> int -> f:(int -> 'a t) -> 'a t t
val iter : ?how:Deferred_intf.how -> 'a t -> f:('a -> unit t) -> unit t
val iteri :
?how:Deferred_intf.how -> 'a t -> f:(int -> 'a -> unit t) -> unit t
val map : ?how:Deferred_intf.how -> 'a t -> f:('a -> 'b t) -> 'b t t
val filter :
?how:Deferred_intf.how -> 'a t -> f:('a -> bool t) -> 'a t t
val filter_map :
?how:Deferred_intf.how -> 'a t -> f:('a -> 'b option t) -> 'b t t
val all : 'a t t -> 'a t t
val all_unit : unit t t -> unit t
end
module Array :
sig
type 'a t = 'a array
val foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b t) -> 'b t
val fold : 'a t -> init:'b -> f:('b -> 'a -> 'b t) -> 'b t
val init : ?how:Deferred_intf.how -> int -> f:(int -> 'a t) -> 'a t t
val iter : ?how:Deferred_intf.how -> 'a t -> f:('a -> unit t) -> unit t
val iteri :
?how:Deferred_intf.how -> 'a t -> f:(int -> 'a -> unit t) -> unit t
val map : ?how:Deferred_intf.how -> 'a t -> f:('a -> 'b t) -> 'b t t
val filter :
?how:Deferred_intf.how -> 'a t -> f:('a -> bool t) -> 'a t t
val filter_map :
?how:Deferred_intf.how -> 'a t -> f:('a -> 'b option t) -> 'b t t
val all : 'a t t -> 'a t t
val all_unit : unit t t -> unit t
end
module List :
sig
type 'a t = 'a list
val foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b t) -> 'b t
val fold : 'a t -> init:'b -> f:('b -> 'a -> 'b t) -> 'b t
val init : ?how:Deferred_intf.how -> int -> f:(int -> 'a t) -> 'a t t
val iter : ?how:Deferred_intf.how -> 'a t -> f:('a -> unit t) -> unit t
val iteri :
?how:Deferred_intf.how -> 'a t -> f:(int -> 'a -> unit t) -> unit t
val map : ?how:Deferred_intf.how -> 'a t -> f:('a -> 'b t) -> 'b t t
val filter :
?how:Deferred_intf.how -> 'a t -> f:('a -> bool t) -> 'a t t
val filter_map :
?how:Deferred_intf.how -> 'a t -> f:('a -> 'b option t) -> 'b t t
val all : 'a t t -> 'a t t
val all_unit : unit t t -> unit t
end
module Queue :
sig
type 'a t = 'a Core.Std.Queue.t
val foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b t) -> 'b t
val fold : 'a t -> init:'b -> f:('b -> 'a -> 'b t) -> 'b t
val init : ?how:Deferred_intf.how -> int -> f:(int -> 'a t) -> 'a t t
val iter : ?how:Deferred_intf.how -> 'a t -> f:('a -> unit t) -> unit t
val iteri :
?how:Deferred_intf.how -> 'a t -> f:(int -> 'a -> unit t) -> unit t
val map : ?how:Deferred_intf.how -> 'a t -> f:('a -> 'b t) -> 'b t t
val filter :
?how:Deferred_intf.how -> 'a t -> f:('a -> bool t) -> 'a t t
val filter_map :
?how:Deferred_intf.how -> 'a t -> f:('a -> 'b option t) -> 'b t t
val all : 'a t t -> 'a t t
val all_unit : unit t t -> unit t
end
module Map :
sig
type ('a, 'b, 'c) t = ('a, 'b, 'c) Core.Std.Map.t
val change :
('k, 'v, 'comparator) t ->
'k ->
('v option -> 'v option Deferred_intf.Deferred.t) ->
('k, 'v, 'comparator) t Deferred_intf.Deferred.t
val iter :
?how:Deferred_intf.how ->
('k, 'v, 'a) t ->
f:(key:'k -> data:'v -> unit Deferred_intf.Deferred.t) ->
unit Deferred_intf.Deferred.t
val map :
?how:Deferred_intf.how ->
('k, 'v1, 'comparator) t ->
f:('v1 -> 'v2 Deferred_intf.Deferred.t) ->
('k, 'v2, 'comparator) t Deferred_intf.Deferred.t
val mapi :
?how:Deferred_intf.how ->
('k, 'v1, 'comparator) t ->
f:(key:'k -> data:'v1 -> 'v2 Deferred_intf.Deferred.t) ->
('k, 'v2, 'comparator) t Deferred_intf.Deferred.t
val fold :
('k, 'v, 'b) t ->
init:'a ->
f:(key:'k -> data:'v -> 'a -> 'a Deferred_intf.Deferred.t) ->
'a Deferred_intf.Deferred.t
val fold_right :
('k, 'v, 'b) t ->
init:'a ->
f:(key:'k -> data:'v -> 'a -> 'a Deferred_intf.Deferred.t) ->
'a Deferred_intf.Deferred.t
val filter :
?how:Deferred_intf.how ->
('k, 'v, 'comparable) t ->
f:(key:'k -> data:'v -> bool Deferred_intf.Deferred.t) ->
('k, 'v, 'comparable) t Deferred_intf.Deferred.t
val filter_map :
?how:Deferred_intf.how ->
('k, 'v1, 'comparable) t ->
f:('v1 -> 'v2 option Deferred_intf.Deferred.t) ->
('k, 'v2, 'comparable) t Deferred_intf.Deferred.t
val filter_mapi :
?how:Deferred_intf.how ->
('k, 'v1, 'comparable) t ->
f:(key:'k -> data:'v1 -> 'v2 option Deferred_intf.Deferred.t) ->
('k, 'v2, 'comparable) t Deferred_intf.Deferred.t
val merge :
?how:Deferred_intf.how ->
('k, 'v1, 'comparator) t ->
('k, 'v2, 'comparator) t ->
f:(key:'k ->
[ `Both of 'v1 * 'v2 | `Left of 'v1 | `Right of 'v2 ] ->
'v3 option Deferred_intf.Deferred.t) ->
('k, 'v3, 'comparator) t Deferred_intf.Deferred.t
end
module Result :
sig
type ('a, 'b) t = ('a, 'b) Core.Std.Result.t t
val ( >>= ) : ('a, 'd) t -> ('a -> ('b, 'd) t) -> ('b, 'd) t
val ( >>| ) : ('a, 'd) t -> ('a -> 'b) -> ('b, 'd) t
module Monad_infix :
sig
val ( >>= ) : ('a, 'd) t -> ('a -> ('b, 'd) t) -> ('b, 'd) t
val ( >>| ) : ('a, 'd) t -> ('a -> 'b) -> ('b, 'd) t
end
val bind : ('a, 'd) t -> ('a -> ('b, 'd) t) -> ('b, 'd) t
val return : 'a -> ('a, 'b) t
val map : ('a, 'd) t -> f:('a -> 'b) -> ('b, 'd) t
val join : (('a, 'd) t, 'd) t -> ('a, 'd) t
val ignore : ('a, 'd) t -> (unit, 'd) t
val all : ('a, 'd) t list -> ('a list, 'd) t
val all_ignore : (unit, 'd) t list -> (unit, 'd) t
end
module Option :
sig
type 'a t = 'a option t
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
module Monad_infix :
sig
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
end
val bind : 'a t -> ('a -> 'b t) -> 'b t
val return : 'a -> 'a t
val map : 'a t -> f:('a -> 'b) -> 'b t
val join : 'a t t -> 'a t
val ignore : 'a t -> unit t
val all : 'a t list -> 'a list t
val all_ignore : unit t list -> unit t
end
val don't_wait_for : unit t -> unit
type 'a choice = 'a Deferred.choice
val choice : 'a t -> ('a -> 'b) -> 'b choice
val enabled : 'b choice list -> (unit -> 'b list) t
val choose : 'b choice list -> 'b t
val repeat_until_finished :
'state ->
('state -> [ `Finished of 'result | `Repeat of 'state ] t) -> 'result t
val forever : 'state -> ('state -> 'state t) -> unit
val debug_space_leaks : int option ref
val of_raw : ('a, Execution_context.t) Raw_deferred.t -> 'a t
val to_raw : 'a t -> ('a, Execution_context.t) Raw_deferred.t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val ounit_tests : unit -> OUnit.test
module Or_error :
sig
type 'a t = 'a Core.Std.Or_error.t Deferred.t
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
module Monad_infix :
sig
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val ( >>| ) : 'a t -> ('a -> 'b) -> 'b t
end
val bind : 'a t -> ('a -> 'b t) -> 'b t
val map : 'a t -> f:('a -> 'b) -> 'b t
val join : 'a t t -> 'a t
val ignore : 'a t -> unit t
val all : 'a t list -> 'a list t
val all_ignore : unit t list -> unit t
val return : 'ok -> 'ok t
val fail : Core.Std.Error.t -> 'a t
val of_exn : exn -> 'a t
val failwith : string -> 'a t
val ok_unit : unit t
val never : unit -> 'a t
val try_with :
?name:string -> f:('arg -> 'a Deferred.t) -> 'arg -> 'a t
val try_with_join : ?name:string -> f:('arg -> 'a t) -> 'arg -> 'a t
module List :
sig
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 init :
?how:Deferred_intf.how -> int -> f:(int -> 'a t) -> 'a list t
val iter :
?how:Deferred_intf.how -> 'a list -> f:('a -> unit t) -> unit t
val iteri :
?how:Deferred_intf.how ->
'a list -> f:(int -> 'a -> unit t) -> unit t
val map :
?how:Deferred_intf.how -> 'a list -> f:('a -> 'b t) -> 'b list t
val filter :
?how:Deferred_intf.how ->
'a list -> f:('a -> bool t) -> 'a list t
val filter_map :
?how:Deferred_intf.how ->
'a list -> f:('a -> 'b option t) -> 'b list t
val all : 'a t list -> 'a list t
val all_unit : unit t list -> unit t
end
val ounit_tests : unit -> OUnit.test
end
end