src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML
changeset 50750 518f0b5ef3d9
parent 50735 6b232d76cbc9
child 50751 d3111134973d
equal deleted inserted replaced
50749:82dee320d340 50750:518f0b5ef3d9
   150       (if save then " --saveModel" else "")
   150       (if save then " --saveModel" else "")
   151     val command =
   151     val command =
   152       "\"$ISABELLE_SLEDGEHAMMER_MASH/src/mash.py\" --quiet --outputDir " ^
   152       "\"$ISABELLE_SLEDGEHAMMER_MASH/src/mash.py\" --quiet --outputDir " ^
   153       File.shell_path (mash_model_dir ()) ^ " --log " ^ log_file ^ " " ^ core ^
   153       File.shell_path (mash_model_dir ()) ^ " --log " ^ log_file ^ " " ^ core ^
   154       " >& " ^ err_file
   154       " >& " ^ err_file
   155       |> tap (fn _ => trace_msg ctxt (fn () =>
       
   156              case try File.read (Path.explode err_file) of
       
   157                NONE => "Done"
       
   158              | SOME "" => "Done"
       
   159              | SOME s => "Error: " ^ elide_string 1000 s))
       
   160     fun run_on () =
   155     fun run_on () =
   161       (Isabelle_System.bash command;
   156       (Isabelle_System.bash command
       
   157        |> tap (fn _ => trace_msg ctxt (fn () =>
       
   158               case try File.read (Path.explode err_file) of
       
   159                 NONE => "Done"
       
   160               | SOME "" => "Done"
       
   161               | SOME s => "Error: " ^ elide_string 1000 s));
   162        read_suggs (fn () => try File.read_lines sugg_path |> these))
   162        read_suggs (fn () => try File.read_lines sugg_path |> these))
   163     fun clean_up () =
   163     fun clean_up () =
   164       if overlord then ()
   164       if overlord then ()
   165       else List.app wipe_out_file [err_file, sugg_file, cmd_file]
   165       else List.app wipe_out_file [err_file, sugg_file, cmd_file]
   166   in
   166   in