Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / cml / cml-lib / simple-rpc.sig
CommitLineData
7f918cf1
CE
1(* simple-rpc.sig
2 * 2004 Matthew Fluet (mfluet@acm.org)
3 * Ported to MLton threads.
4 *)
5
6(* simple-rpc-sig.sml
7 *
8 * COPYRIGHT (c) 1997 AT&T Labs Research.
9 *
10 * Generators for simple RPC protocols.
11 *)
12
13signature SIMPLE_RPC =
14 sig
15 type 'a event = 'a CML.event
16
17 val mkRPC : ('a -> 'b) ->
18 {call : 'a -> 'b,
19 entryEvt : unit event}
20
21 val mkRPC_In : (('a * 'c) -> 'b) ->
22 {call : 'a -> 'b,
23 entryEvt : 'c -> unit event}
24
25 val mkRPC_Out : ('a -> ('b * 'c)) ->
26 {call : 'a -> 'b,
27 entryEvt : 'c event}
28
29 val mkRPC_InOut : (('a * 'c) -> ('b * 'd)) ->
30 {call : 'a -> 'b,
31 entryEvt : 'c -> 'd event}
32 end