equal
deleted
inserted
replaced
23 {files : (Path.T * string) list, |
23 {files : (Path.T * string) list, |
24 compile_cmd : string option, run_cmd : string, mk_code_file : string -> Path.T}) |
24 compile_cmd : string option, run_cmd : string, mk_code_file : string -> Path.T}) |
25 -> string -> string -> string |
25 -> string -> string -> string |
26 -> theory -> (string * string) list * string -> Path.T -> string |
26 -> theory -> (string * string) list * string -> Path.T -> string |
27 |
27 |
28 val ISABELLE_POLYML_PATH : string |
28 val ISABELLE_POLYML : string |
29 val polymlN : string |
29 val polymlN : string |
30 val evaluate_in_polyml : Proof.context -> (string * string) list * string -> Path.T -> string |
30 val evaluate_in_polyml : Proof.context -> (string * string) list * string -> Path.T -> string |
31 |
31 |
32 val mltonN : string |
32 val mltonN : string |
33 val ISABELLE_MLTON : string |
33 val ISABELLE_MLTON : string |
314 run |
314 run |
315 end |
315 end |
316 |
316 |
317 (* Driver for PolyML *) |
317 (* Driver for PolyML *) |
318 |
318 |
319 val ISABELLE_POLYML_PATH = "ISABELLE_POLYML_PATH" |
319 val ISABELLE_POLYML = "ISABELLE_POLYML" |
320 val polymlN = "PolyML"; |
320 val polymlN = "PolyML"; |
321 |
321 |
322 fun mk_driver_polyml _ path _ value_name = |
322 fun mk_driver_polyml _ path _ value_name = |
323 let |
323 let |
324 val generatedN = "generated.sml" |
324 val generatedN = "generated.sml" |
341 " ()\n" ^ |
341 " ()\n" ^ |
342 " end;\n" |
342 " end;\n" |
343 val cmd = |
343 val cmd = |
344 "echo \"use \\\"" ^ Path.implode code_path ^ "\\\"; use \\\"" ^ |
344 "echo \"use \\\"" ^ Path.implode code_path ^ "\\\"; use \\\"" ^ |
345 Path.implode driver_path ^ "\\\"; main ();\" | " ^ |
345 Path.implode driver_path ^ "\\\"; main ();\" | " ^ |
346 Path.implode (Path.variable ISABELLE_POLYML_PATH) |
346 Path.implode (Path.variable ISABELLE_POLYML) |
347 in |
347 in |
348 {files = [(driver_path, driver)], compile_cmd = NONE, run_cmd = cmd, mk_code_file = K code_path} |
348 {files = [(driver_path, driver)], compile_cmd = NONE, run_cmd = cmd, mk_code_file = K code_path} |
349 end |
349 end |
350 |
350 |
351 val evaluate_in_polyml = gen_driver mk_driver_polyml ISABELLE_POLYML_PATH "PolyML executable" polymlN |
351 val evaluate_in_polyml = gen_driver mk_driver_polyml ISABELLE_POLYML "PolyML executable" polymlN |
352 |
352 |
353 (* Driver for mlton *) |
353 (* Driver for mlton *) |
354 |
354 |
355 val mltonN = "MLton" |
355 val mltonN = "MLton" |
356 val ISABELLE_MLTON = "ISABELLE_MLTON" |
356 val ISABELLE_MLTON = "ISABELLE_MLTON" |