Up

Module Std

Signature

module Clock_ns = Clock_ns
module Deferred = Deferred
module Gc = Async_gc
module Handler = Handler
module Ivar = Ivar
module Monitor = Monitor
module Pipe = Pipe
module Priority = Priority
module Tail = Tail
module Throttle = Throttle
val catch : ((unit -> unit) -> exn Monitor.Deferred.t) Monitor.with_optional_monitor_name
val choice : 'a Deferred.t -> ('a -> 'b) -> 'b Deferred.Choice.t
val choose : 'a Deferred.Choice.t list -> 'a Deferred.t
val don't_wait_for : unit Deferred.t -> unit
val every : ?start:unit Clock_intf.Deferred.t -> ?stop:unit Clock_intf.Deferred.t -> ?continue_on_error:bool -> Import.Time_ns.Span.t -> (unit -> unit) -> unit
val never : unit -> 'a Deferred.t
val return : 'a -> 'a Deferred.t
val schedule : ((unit -> unit) -> unit) Scheduler.with_options
val try_with : (?extract_exn:bool -> ?run:[
| `Now
| `Schedule
] -> ?rest:[
| `Log
| `Raise
] -> (unit -> 'a Monitor.Deferred.t) -> ('a, exn) Core_kernel.Std.Result.t Monitor.Deferred.t) Monitor.with_optional_monitor_name
val upon : 'a Deferred.t -> ('a -> unit) -> unit
val with_timeout : Import.Time_ns.Span.t -> 'a Clock_intf.Deferred.t -> [
| `Result of 'a
| `Timeout
] Clock_intf.Deferred.t
val within : ((unit -> unit) -> unit) Scheduler.with_options
val (>>>) : 'a Deferred.t -> ('a -> unit) -> unit
val (>>=?) : ('a, 'b) Deferred.Result.t -> ('a -> ('c, 'b) Deferred.Result.t) -> ('c, 'b) Deferred.Result.t
val (>>|?) : ('a, 'b) Deferred.Result.t -> ('a -> 'c) -> ('c, 'b) Deferred.Result.t
include Core_kernel.Std.Monad.Infix with type 'a t := 'a Deferred.t
type 'a t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t

t >>= f returns a computation that sequences the computations represented by two monad elements. The resulting computation first does t to yield a value v, and then runs the computation returned by f v.

val (>>|) : 'a t -> ('a -> 'b) -> 'b t

t >>| f is t >>= (fun a -> return (f a)).

include Deferred.Let_syntax
module Let_syntax : sig .. end