module M use import int.Int use import module ref.Ref exception Break let f (n : int) : int = { true } let i = ref n in try while (!i > 0) do invariant { true } variant { !i } if (!i <= 10) then raise Break; i := !i - 1 done with Break -> () end; !i { result <= 10 } end (* Local Variables: compile-command: "unset LANG; make -C ../../.. bench/programs/good/exceptions" End: *)