Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/benchmarks/todo/cml-sieve/concur-sig.sml
ViewVC logotype

Annotation of /sml/trunk/benchmarks/todo/cml-sieve/concur-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 193 - (view) (download)

1 : monnier 193 (* concur.sig
2 :     *
3 :     * COPYRIGHT (c) 1990 by John H. Reppy. See COPYRIGHT file for details.
4 :     *
5 :     * The user-level signature for the core CML module
6 :     *)
7 :    
8 :     signature CONCUR_ML =
9 :     sig
10 :    
11 :     val versionName : string
12 :    
13 :     (** events **)
14 :     type 'a event
15 :    
16 :     val sync : 'a event -> 'a
17 :     val select : 'a event list -> 'a
18 :     val poll : 'a event -> 'a option
19 :    
20 :     val choose : 'a event list -> 'a event
21 :    
22 :     val guard : (unit -> 'a event) -> 'a event
23 :    
24 :     val wrap : ('a event * ('a -> 'b)) -> 'b event
25 :     val wrapHandler : ('a event * (exn -> 'a)) -> 'a event
26 :     val wrapAbort : ('a event * (unit -> unit)) -> 'a event
27 :    
28 :     val always : 'a -> 'a event
29 :     val ALWAYS : unit event (** for backward compatibility **)
30 :    
31 :     (** threads **)
32 :     type thread_id
33 :    
34 :     val spawn : (unit -> unit) -> thread_id
35 :    
36 :     val yield : unit -> unit
37 :     val exit : unit -> 'a
38 :    
39 :     val getTid : unit -> thread_id
40 :     val sameThread : (thread_id * thread_id) -> bool
41 :     val tidLessThan : (thread_id * thread_id) -> bool
42 :     val tidToString : thread_id -> string
43 :    
44 :     val threadWait : thread_id -> unit event
45 :    
46 :     (** condition variables **)
47 :     type 'a cond_var
48 :    
49 :     val condVar : unit -> '1a cond_var
50 :    
51 :     val writeVar : ('a cond_var * 'a) -> unit
52 :     exception WriteTwice
53 :    
54 :     val readVar : 'a cond_var -> 'a
55 :     val readVarEvt : 'a cond_var -> 'a event
56 :    
57 :     (** channels **)
58 :     type 'a chan
59 :    
60 :     val channel : unit -> '1a chan
61 :    
62 :     val send : ('a chan * 'a) -> unit
63 :     val sendc : 'a chan -> 'a -> unit
64 :     val accept : 'a chan -> 'a
65 :    
66 :     val sameChannel : ('a chan * 'a chan) -> bool
67 :    
68 :     val transmit : ('a chan * 'a) -> unit event
69 :     val transmitc : 'a chan -> 'a -> unit event
70 :     val receive : 'a chan -> 'a event
71 :    
72 :     (** real-time synchronization **)
73 :     val waitUntil : Time.time -> unit event
74 :     val timeout : Time.time -> unit event
75 :    
76 :     end (* signature CONCUR_ML *)
77 :    
78 :    
79 :     (** The internal signature for the core CML module **)
80 :     signature INTERNAL_CML =
81 :     sig
82 :     include CONCUR_ML
83 :     val shutdown : (unit -> unit) ref
84 :     val timerOn : Time.time option -> unit
85 :     val timerOff : unit -> unit
86 :     val restartTimer : unit -> unit
87 :     val initQueues : unit -> unit
88 :     val errCh : (thread_id * exn) chan
89 :     val resetChan : 'a chan -> unit
90 :     val reportError : string -> unit
91 :     val load : unit -> (int * int)
92 :     end (* INTERNAL_CML *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0