Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | datatype t = |
2 | A of Word16.word ref * Word16.word ref * int list | |
3 | | B | |
4 | ||
5 | val a = Array.tabulate (100, fn i => | |
6 | let | |
7 | val l = [100 + i, 2, 3] | |
8 | in | |
9 | case i mod 2 of | |
10 | 0 => A (ref 0w13, ref 0w123, l) | |
11 | | 1 => B | |
12 | end) | |
13 | ||
14 | val _ = | |
15 | Array.app | |
16 | (fn B => () | |
17 | | A (r, r', l) => (r := !r + Word16.fromLarge (LargeWord.fromInt (hd l)) | |
18 | ; r' := !r' + !r)) | |
19 | a | |
20 | ||
21 | val A (w, w', _) = Array.sub (a, 0) | |
22 | ||
23 | val _ = print (concat [Word16.toString (!w), " ", | |
24 | Word16.toString (!w'), "\n"]) | |
25 | ||
26 | ||
27 |