Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | open SMLofNJ.Cont |
2 | ||
3 | val r: unit cont option ref = ref NONE | |
4 | ||
5 | val a = ref 13 | |
6 | ||
7 | val () = callcc(fn k => r := SOME k) | |
8 | ||
9 | val b = ref 13 | |
10 | ||
11 | val _ = a := !a - 1 | |
12 | val _ = b := !b - 1 | |
13 | ||
14 | val _ = print(concat["a = ", Int.toString(!a), | |
15 | " b = ", Int.toString(!b), | |
16 | "\n"]) | |
17 | ||
18 | val _ = if !a = 0 | |
19 | then () | |
20 | else throw (valOf(!r)) () |