let output preludes ~file p =
Wp_parameters.result "exporting why file in %s@." file;
let c = open_out file in
let rec add_preludes preludes = match preludes with
| f::tl ->
Wp_parameters.result "\t with prelude %s@." f;
let cin = open_in f in
begin
try while true do output_char c (input_char cin) done
with End_of_file -> close_in cin
end;
add_preludes tl
| [] -> ()
in
add_preludes preludes;
let fmt = formatter_of_out_channel c in
fprintf fmt "@[%a@]@." (print_list newline decl) p;
close_out c