test/Tools/isac/ProgLang/evaluate.sml
changeset 60538 b44ed7b738f4
parent 60519 70b30d910fd5
child 60539 ae95769de108
     1.1 --- a/test/Tools/isac/ProgLang/evaluate.sml	Wed Aug 24 17:21:14 2022 +0200
     1.2 +++ b/test/Tools/isac/ProgLang/evaluate.sml	Wed Aug 24 18:29:33 2022 +0200
     1.3 @@ -49,10 +49,10 @@
     1.4  val t = TermC.str2term "((1+2)*4/3) \<up> 2";
     1.5  val thy = @{theory};
     1.6  val ctxt = Proof_Context.init_global @{theory}
     1.7 -val times =  ("Groups.times_class.times", Calc_Binop.numeric "#mult_") : string * Eval_Def.eval_fn;
     1.8 -val plus =   ("Groups.plus_class.plus", Calc_Binop.numeric "#add_") : string * Eval_Def.eval_fn;
     1.9 -val divide = ("Rings.divide_class.divide", eval_cancel "#divide_e") : string * Eval_Def.eval_fn;
    1.10 -val pow =    (\<^const_name>\<open>realpow\<close>, Calc_Binop.numeric "#power_") : string * Eval_Def.eval_fn;
    1.11 +val times =  ("Groups.times_class.times", Calc_Binop.numeric "#mult_") : string * Eval_Def.ml_fun;
    1.12 +val plus =   ("Groups.plus_class.plus", Calc_Binop.numeric "#add_") : string * Eval_Def.ml_fun;
    1.13 +val divide = ("Rings.divide_class.divide", eval_cancel "#divide_e") : string * Eval_Def.ml_fun;
    1.14 +val pow =    (\<^const_name>\<open>realpow\<close>, Calc_Binop.numeric "#power_") : string * Eval_Def.ml_fun;
    1.15  
    1.16  "~~~~~ fun calculate_ , args:"; val (thy, isa_fn, t) = (thy, plus, t);
    1.17  val SOME ("#: 1 + 2 = 3", adh_thm) = adhoc_thm @{context} isa_fn t;
    1.18 @@ -435,7 +435,7 @@
    1.19  "----------- fun adhoc_thm + fun eval_cancel ---------------------------------------------------";
    1.20  "----------- fun adhoc_thm + fun eval_cancel ---------------------------------------------------";
    1.21  "----------- fun adhoc_thm + fun eval_cancel ---------------------------------------------------";
    1.22 -val eval_ = ("Rings.divide_class.divide", eval_cancel "#divide_e" : eval_fn);
    1.23 +val eval_ = ("Rings.divide_class.divide", eval_cancel "#divide_e" : Eval.ml_fun): Eval.ml;
    1.24  val t = @{term "- 1 / 2 ::real"};
    1.25  (* 
    1.26    ML\<open>Eval.adhoc_thm\<close> is called while searching terms for adjacent numerals