Commit | Line | Data |
---|---|---|
1 | open MLton open Cont | |
2 | ||
3 | val kr: unit Cont.t option ref = ref NONE | |
4 | ||
5 | val rr: unit ref option ref = ref NONE | |
6 | ||
7 | val r: unit ref = ref (callcc (fn k => kr := SOME k)) | |
8 | ||
9 | val _ = | |
10 | case !rr of | |
11 | NONE => | |
12 | (rr := SOME r | |
13 | ; throw (valOf (!kr), ())) | |
14 | | SOME r' => if r = r' | |
15 | then raise Fail "bug" | |
16 | else () |