blob: 4cd4b86ba2e8cd1a00f2283bbc404080cb19271d (
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
33
|
datatype list t = Nil | Cons of t * list t
sequence s
fun main () : transaction page =
let
fun getIndices srcs =
case srcs of
Nil => return Nil
| Cons (src, srcs') =>
i <- nextval s;
set src i;
ls <- getIndices srcs';
return (Cons (i, ls))
fun show ls =
case ls of
Nil => <xml/>
| Cons (x, ls') => <xml>{[x]}<br/>{show ls'}</xml>
in
src1 <- source 0;
src2 <- source 1;
s <- source Nil;
return <xml><body>
<button value="Get It On!"
onclick={ns <- getIndices (Cons (src1, Cons (src2, Nil)));
set s ns}/><br/>
<br/>
#1: <dyn signal={n <- signal src1; return <xml>{[n]}</xml>}/><br/>
#2: <dyn signal={n <- signal src2; return <xml>{[n]}</xml>}/><br/>
Current: <dyn signal={ns <- signal s; return (show ns)}/>
</body></xml>
end
|