Session.Lift
module Ident : sig ... end
The identity monad as a stub for blocking computations.
module IO : functor (IO : S.IO) -> functor (Now : S.Now) -> S.Future with type +'a io = 'a IO.t and type t = Now.t and type key = Now.key and type value = Now.value and type period = Now.period
Lift a synchronous S.Now backend to an asynchronous S.Future interface.
S.Now
S.Future
module Thread_IO : functor (IO : S.Thread_IO) -> functor (Now : S.Now) -> S.Future with type +'a io = 'a IO.t and type t = Now.t and type key = Now.key and type value = Now.value and type period = Now.period
Lift a synchronous S.Now backend to an asynchronous S.Future interface, using threads. This may add concurrency to the program, depending on how in_thread is implemented.
in_thread