SCM Repository
Annotation of /sml/trunk/src/smlnj-lib/Reactive/instruction.sml
Parent Directory
|
Revision Log
Revision 9 - (view) (download)
1 : | monnier | 2 | (* instruction.sml |
2 : | * | ||
3 : | * COPYRIGHT (c) 1997 Bell Labs, Lucent Technologies. | ||
4 : | * | ||
5 : | * An AST representation of reactive scripts. | ||
6 : | *) | ||
7 : | |||
8 : | structure Instruction = | ||
9 : | struct | ||
10 : | |||
11 : | datatype 'a config | ||
12 : | = posConfig of 'a | ||
13 : | | negConfig of 'a | ||
14 : | | orConfig of ('a config * 'a config) | ||
15 : | | andConfig of ('a config * 'a config) | ||
16 : | |||
17 : | type signal = Atom.atom | ||
18 : | |||
19 : | datatype 'a instr | ||
20 : | = || of ('a instr * 'a instr) | ||
21 : | | & of ('a instr * 'a instr) | ||
22 : | | nothing | ||
23 : | | stop | ||
24 : | | suspend | ||
25 : | | action of 'a -> unit | ||
26 : | monnier | 8 | | exec of 'a -> {stop : unit -> unit, done : unit -> bool} |
27 : | monnier | 2 | | ifThenElse of (('a -> bool) * 'a instr * 'a instr) |
28 : | | repeat of (int * 'a instr) | ||
29 : | | loop of 'a instr | ||
30 : | | close of 'a instr | ||
31 : | | signal of (signal * 'a instr) | ||
32 : | | rebind of (signal * signal * 'a instr) | ||
33 : | | when of (signal config * 'a instr * 'a instr) | ||
34 : | | trapWith of (signal config * 'a instr * 'a instr) | ||
35 : | | emit of signal | ||
36 : | | await of signal config | ||
37 : | |||
38 : | end; |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |