Async_kernel
include module type of Async_kernel with module Deferred := Async_kernel.Deferred
module Async_kernel_config = Async_kernel.Async_kernel_configmodule Async_kernel_require_explicit_time_source : sig ... endDeprecates functions that use wall-clock time, so that code must be explicit about what time source is used.
module Async_kernel_scheduler = Async_kernel.Async_kernel_schedulermodule Bvar = Async_kernel.Bvarmodule Clock_ns = Async_kernel.Clock_nsmodule Condition : sig ... endAsync's implementation of the standard notion of a "condition" variable.
module Execution_context = Async_kernel.Execution_contextmodule Gc : sig ... endAsync's analog of Core_kernel.Gc.
module Invariant : sig ... endmodule Ivar = Async_kernel.Ivarmodule Lazy_deferred = Async_kernel.Lazy_deferredmodule Monad_sequence = Async_kernel.Monad_sequencemodule Monitor = Async_kernel.Monitormodule Mvar = Async_kernel.Mvarmodule Pipe = Async_kernel.Pipemodule Priority = Async_kernel.Prioritymodule Sequencer = Async_kernel.Throttle.Sequencermodule Stream : sig ... endAn immutable sequence of values, with a possibly incomplete tail that may be extended asynchronously.
module Synchronous_time_source = Async_kernel.Synchronous_time_sourcemodule Tail = Async_kernel.Tailmodule Throttle = Async_kernel.Throttlemodule Time_source = Async_kernel.Time_sourceToplevel functions
val after : Core_kernel.Int63.t -> unit Async_kernel__Types.Deferred.tval at : Core_kernel.Int63.t -> unit Async_kernel__Types.Deferred.tval catch : ((unit -> unit) -> exn Monitor.Deferred.t) Monitor.with_optional_monitor_nameval choice : 'a Async_kernel.Deferred.t -> ('a -> 'b) -> 'b Async_kernel.Deferred.Choice.tval choose : 'a Async_kernel.Deferred.Choice.t list -> 'a Async_kernel.Deferred.tval don't_wait_for : unit Async_kernel.Deferred.t -> unitval every : ?start:unit Async_kernel__Types.Deferred.t -> ?stop:unit Async_kernel__Types.Deferred.t -> ?continue_on_error:bool -> Core_kernel.Int63.t -> (unit -> unit) -> unitval never : unit -> 'a Async_kernel.Deferred.tval schedule : ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> (unit -> unit) -> unitval schedule' : ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> (unit -> 'a Async_kernel__Types.Deferred.t) -> 'a Async_kernel__Types.Deferred.tval try_with : (?extract_exn:bool -> ?run:[ `Now | `Schedule ] -> ?rest:[ `Call of exn -> unit | `Log | `Raise ] -> (unit -> 'a Monitor.Deferred.t) -> ('a, exn) Core_kernel.Result.t Monitor.Deferred.t) Monitor.with_optional_monitor_nameval upon : 'a Async_kernel.Deferred.t -> ('a -> unit) -> unitval with_timeout : Core_kernel.Int63.t -> 'a Async_kernel__Types.Deferred.t -> [ `Result of 'a | `Timeout ] Async_kernel__Types.Deferred.tval within : ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> (unit -> unit) -> unitval within' : ?monitor:Async_kernel.Monitor.t -> ?priority:Async_kernel.Priority.t -> (unit -> 'a Async_kernel__Types.Deferred.t) -> 'a Async_kernel__Types.Deferred.tInfix operators and Let_syntax support
include Core_kernel.Monad.Infix with type 'a t := 'a Async_kernel.Deferred.t
val (>>=) : 'a Async_kernel.Deferred.t -> ('a -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.tt >>= 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 Async_kernel.Deferred.t -> ('a -> 'b) -> 'a Async_kernel.Deferred.tt >>| f is t >>= (fun a -> return (f a)).
equivalent to Deferred.upon.
val (>>=?) : ('a, 'b) Async_kernel.Deferred.Result.t -> ('a -> ('c, 'b) Async_kernel.Deferred.Result.t) -> ('c, 'b) Async_kernel.Deferred.Result.tequivalent to Deferred.Result.bind.
val (>>|?) : ('a, 'b) Async_kernel.Deferred.Result.t -> ('a -> 'c) -> ('c, 'b) Async_kernel.Deferred.Result.tequivalent to Deferred.Result.map.
include Async_kernel.Deferred.Let_syntax
val return : 'a -> 'a Async_kernel.Deferred.tval (>>=) : 'a Async_kernel.Deferred.t -> ('a -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.tt >>= 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 Async_kernel.Deferred.t -> ('a -> 'b) -> 'a Async_kernel.Deferred.tt >>| f is t >>= (fun a -> return (f a)).
module Let_syntax : sig ... endmodule Deferred : sig ... endAsync_unix
include Async_unix
module Async_config : sig ... endmodule Clock = Async_unix.Clockmodule Dump_core_on_job_delay = Async_unix.Dump_core_on_job_delaymodule Fd = Async_unix.Fdmodule In_thread = Async_unix.In_threadmodule Io_stats = Async_unix.Io_statsmodule Log = Async_unix.Logmodule Print : sig ... endNon-blocking, Async-friendly print functions.
module Process = Async_unix.Processmodule Reader = Async_unix.Readermodule Require_explicit_time_source = Async_unix.Require_explicit_time_sourcemodule Scheduler = Async_unix.Schedulermodule Shutdown = Async_unix.Shutdownmodule Signal = Async_unix.Signalmodule Socket : sig ... endmodule Sys : sig ... endThis module overrides everything in the Core.Sys module that might block. Functions do the same thing as their counterparts in Core.Sys, but instead return deferreds. For a description of their semantics see the documentation for the Core.Sys module.
module Tcp = Async_unix.Tcpmodule Thread_safe = Async_unix.Thread_safemodule Writer = Async_unix.Writermodule Unix = Async_unix.Unixval after : Core.Time.Span.t -> unit Async_kernel__Types.Deferred.tval at : Core.Time.t -> unit Async_kernel__Types.Deferred.tval every : ?start:unit Async_kernel__Types.Deferred.t -> ?stop:unit Async_kernel__Types.Deferred.t -> ?continue_on_error:bool -> Core.Time.Span.t -> (unit -> unit) -> unitval with_timeout : Core.Time.Span.t -> 'a Async_kernel__Types.Deferred.t -> [ `Result of 'a | `Timeout ] Async_kernel__Types.Deferred.tval schedule : ((unit -> unit) -> unit) Scheduler.with_optionsval schedule' : ((unit -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.t) Scheduler.with_optionsval shutdown : ?force:unit Async_kernel.Deferred.t -> int -> unitval within : ((unit -> unit) -> unit) Scheduler.with_optionsval within' : ((unit -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.t) Scheduler.with_optionsmodule Printf = Async_unix.PrintfShadow blocking functions in Core.Printf to prevent their unintentional use.
include sig ... end
module Overwrite_ : sig ... endval close_in_noerr : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val close_in : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val close_out_noerr : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val close_out : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val eprintf : ('a, unit, string, unit) Stdlib.format4 -> 'aval flush_all : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val fprintf : Async_unix.Writer.t -> ('a, unit, string, unit) Stdlib.format4 -> 'aval ifprintf : 'a -> ('b, 'a, 'c, unit) Stdlib.format4 -> 'bval in_channel_length : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_binary_int : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_byte : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_char : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_line : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_lines : ?fix_win_eol:'a -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val input_value : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_in_bin : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_in_gen : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_in : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_out_bin : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_out_gen : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val open_out : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val out_channel_length : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output_binary_int : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output_byte : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output_char : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output_string : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val output_value : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val pos_out : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val printf : ('a, unit, string, unit) Stdlib.format4 -> 'aval print_s : ?mach:unit -> Sexplib.Sexp.t -> unitval read_float : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val read_int : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val read_line : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val read_lines : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val read_wrap : ?binary:'a -> f:'b -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val really_input : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val seek_in : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val seek_out : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val set_binary_mode_in : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val set_binary_mode_out : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val write_lines : [< `This_is_async__Think_about_blocking ] -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]val write_wrap : ?binary:'a -> f:'b -> [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]module LargeFile : sig ... endmodule Sexp : sig ... endval exit : ?force:unit Async_kernel.Deferred.t -> int -> 'a Async_kernel.Deferred.tAsync_command
module Command : sig ... endAsync_rpc
module Quickcheck : sig ... endmodule Expect_test_config : Expect_test_config.S with type 'a IO_flush.t = 'a Deferred.t with type 'a IO_run.t = 'a Deferred.tmodule Expect_test_config_with_unit_expect : sig ... endAn alternative to Async.Expect_test_config in which %expect has type unit rather than unit Deferred.t. This lets one write: