summaryrefslogtreecommitdiff
path: root/demo/ref.ur
blob: 089529e361590ede6c296247b7901d6868a119a6 (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
structure IR = RefFun.Make(struct
                               type t = int
                               val inj = _
                           end)

structure SR = RefFun.Make(struct
                               type t = string
                               val inj = _
                           end)

fun main () =
    ir <- IR.new 3;
    ir' <- IR.new 7;
    sr <- SR.new "hi";

    () <- IR.write ir' 10;

    iv <- IR.read ir;
    iv' <- IR.read ir';
    sv <- SR.read sr;

    () <- IR.delete ir;
    () <- IR.delete ir';
    () <- SR.delete sr;

    return <xml><body>
      {[iv]}, {[iv']}, {[sv]}
    </body></xml>