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/src/smlnj-lib/Reactive/reactive-sig.sml
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/Reactive/reactive-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9 - (view) (download)

1 : monnier 2 (* reactive-sig.sml
2 :     *
3 :     * COPYRIGHT (c) 1997 Bell Labs, Lucent Technologies.
4 :     *
5 :     * A simple ractive engine modelled after RC and SugarCubes.
6 :     *)
7 :    
8 :     signature REACTIVE =
9 :     sig
10 :    
11 :     type machine
12 :     type instruction
13 :     type signal
14 :     type config
15 :     type in_signal
16 :     type out_signal
17 :    
18 :     val machine : {
19 :     inputs : signal list,
20 :     outputs : signal list,
21 :     body : instruction
22 :     } -> machine
23 :    
24 :     val run : machine -> bool
25 :     (* run the machine one instant. Returns true, if the machine ends in
26 :     * a terminal state.
27 :     *)
28 :     val reset : machine -> unit
29 :     (* reset a machine to its initial state. *)
30 :    
31 :     val inputsOf : machine -> in_signal list
32 :     val outputsOf : machine -> out_signal list
33 :    
34 :     val inputSignal : in_signal -> signal
35 :     val outputSignal : out_signal -> signal
36 :    
37 :     val setInSignal : (in_signal * bool) -> unit
38 :     val getInSignal : in_signal -> bool
39 :     val getOutSignal : out_signal -> bool
40 :    
41 :     val || : (instruction * instruction) -> instruction
42 :     val & : (instruction * instruction) -> instruction
43 :    
44 :     val nothing : instruction
45 :     val stop : instruction
46 :     val suspend : instruction
47 :    
48 :     val action : (machine -> unit) -> instruction
49 : monnier 8 val exec : (machine -> {stop : unit -> unit, done : unit -> bool})
50 :     -> instruction
51 : monnier 2
52 :     val ifThenElse : ((machine -> bool) * instruction * instruction) -> instruction
53 :     val repeat : (int * instruction) -> instruction
54 :     val loop : instruction -> instruction
55 :     val close : instruction -> instruction
56 :    
57 :     val signal : (signal * instruction) -> instruction
58 :     val rebind : (signal * signal * instruction) -> instruction
59 :     val when : (config * instruction * instruction) -> instruction
60 :     val trap : (config * instruction) -> instruction
61 :     val trapWith : (config * instruction * instruction) -> instruction
62 :     val emit : signal -> instruction
63 :     val await : config -> instruction
64 :    
65 :     (* signal configurations *)
66 :     val posConfig : signal -> config
67 :     val negConfig : signal -> config
68 :     val orConfig : (config * config) -> config
69 :     val andConfig : (config * config) -> config
70 :    
71 :     end

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