Module 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.

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.