What would amb do with this kind of program:
let f_out = open_out "file1.tmp";;
output_string f_out "good\n";;
close_out;;
if (abm [(fun _ -> false); (fun _ -> true)]) then
let f_in = open_in "file1.tmp" in
if input_line f_in = "good" then exit 0 (* SUCCESS *)
else raise Amb
else
let f_out2 = open_out_get [Open_trunc] 0o777 "file1.tmp
" in
output_string f_out2 "bad\n"
?
- Tom