Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / cml / core-cml / mailbox.sig
CommitLineData
7f918cf1
CE
1(* mailbox.sig
2 * 2004 Matthew Fluet (mfluet@acm.org)
3 * Ported to MLton threads.
4 *)
5
6(* mailbox-sig.sml
7 *
8 * COPYRIGHT (c) 1995 AT&T Bell Laboratories
9 * COPYRIGHT (c) 1989-1991 John H. Reppy
10 *
11 * Asynchronous channels (called mailboxes).
12 *)
13
14signature MAILBOX =
15 sig
16 type 'a mbox
17
18 val mailbox : unit -> 'a mbox
19 val sameMailbox : ('a mbox * 'a mbox) -> bool
20
21 val send : ('a mbox * 'a) -> unit
22 val recv : 'a mbox -> 'a
23 val recvEvt : 'a mbox -> 'a CML.event
24 val recvPoll : 'a mbox -> 'a option
25 end
26
27signature MAILBOX_EXTRA =
28 sig
29 include MAILBOX
30 (*val resetMbox : 'a mbox -> unit*)
31 end