blob: 1893979ad7d2cb33aaa0a7ac466d480448046142 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
table t : { Ch : channel string }
fun go () =
let
fun overwrite () =
dml (DELETE FROM t WHERE TRUE);
ch <- channel;
dml (INSERT INTO t (Ch) VALUES ({[ch]}));
return ch
fun retrieve () =
oneRowE1 (SELECT (t.Ch) FROM t)
fun transmit () =
ch <- retrieve ();
send ch "Test"
fun listenOn ch =
s <- recv ch;
alert s
in
ch <- overwrite ();
return <xml><body onload={listenOn ch}>
<button value="overwrite" onclick={fn _ => ch <- rpc (overwrite ()); listenOn ch}/>
<button value="retrieve" onclick={fn _ => ch <- rpc (retrieve ()); listenOn ch}/>
<button value="transmit" onclick={fn _ => rpc (transmit ())}/>
</body></xml>
end
fun main () = return <xml><body>
<form><submit action={go}/></form>
</body></xml>
|