package rpclib

  1. Overview
  2. Docs

The module !T, the RPC MONAD transformer, defines the minimal set of types and functions needed for the !GenClient and !GenServer modules to generate clients and servers. These allow to provide different syncronous and asynctronous engines for the client and server implementations.

type 'a box
type ('a, 'b) resultb = ('a, 'b) Result.t box
type rpcfn = -> Rpc.response M.t
val lift : ('a -> 'b M.t) -> 'a -> 'b box
val bind : 'a box -> ('a -> 'b M.t) -> 'b box
val return : 'a -> 'a box
val get : 'a box -> 'a M.t
val (!@) : 'a box -> 'a M.t
val put : 'a M.t -> 'a box
val (~@) : 'a M.t -> 'a box