equal
deleted
inserted
replaced
155 val thy = Proof_Context.theory_of ctxt |
155 val thy = Proof_Context.theory_of ctxt |
156 val (driver, target) = |
156 val (driver, target) = |
157 (case get_driver thy compiler of |
157 (case get_driver thy compiler of |
158 NONE => error ("No driver for target " ^ compiler) |
158 NONE => error ("No driver for target " ^ compiler) |
159 | SOME drv => drv) |
159 | SOME drv => drv) |
160 val with_dir = |
160 val with_dir = if Config.get ctxt debug then with_debug_dir else Isabelle_System.with_tmp_dir |
161 if Config.get (Proof_Context.init_global thy) debug |
|
162 then with_debug_dir else Isabelle_System.with_tmp_dir |
|
163 fun eval result = |
161 fun eval result = |
164 with_dir "Code_Test" (driver ctxt ((apfst o map o apfst) Long_Name.implode result)) |
162 with_dir "Code_Test" (driver ctxt ((apfst o map o apfst) Long_Name.implode result)) |
165 |> parse_result compiler |
163 |> parse_result compiler |
166 fun evaluator program _ vs_ty deps = |
164 fun evaluator program _ vs_ty deps = |
167 Exn.interruptible_capture eval |
165 Exn.interruptible_capture eval |