src/Tools/Code/code_runtime.ML
changeset 64928 18a6b96f8b00
parent 63184 dd6cd88cebd9
child 64940 19ca3644ec46
equal deleted inserted replaced
64927:a5a09855e424 64928:18a6b96f8b00
   146     val computation = Code_Thingol.static_value { ctxt = ctxt,
   146     val computation = Code_Thingol.static_value { ctxt = ctxt,
   147       lift_postproc = Exn.map_res o lift_postproc, consts = consts }
   147       lift_postproc = Exn.map_res o lift_postproc, consts = consts }
   148       computation';
   148       computation';
   149   in fn ctxt' => computation ctxt' o reject_vars ctxt' end;
   149   in fn ctxt' => computation ctxt' o reject_vars ctxt' end;
   150 
   150 
   151 fun static_value_strict cookie = Exn.release ooo static_value_exn cookie;
   151 fun static_value_strict cookie x = Exn.release oo static_value_exn cookie x;
   152 
   152 
   153 fun static_value cookie = partiality_as_none ooo static_value_exn cookie;
   153 fun static_value cookie x = partiality_as_none oo static_value_exn cookie x;
   154 
   154 
   155 
   155 
   156 (* evaluation for truth or nothing *)
   156 (* evaluation for truth or nothing *)
   157 
   157 
   158 structure Truth_Result = Proof_Data
   158 structure Truth_Result = Proof_Data
   317       (compile_computation cookie ctxt cs_code cTs T);
   317       (compile_computation cookie ctxt cs_code cTs T);
   318   in fn ctxt' =>
   318   in fn ctxt' =>
   319     computation ctxt' o reject_vars ctxt' o Syntax.check_term ctxt' o Type.constraint T
   319     computation ctxt' o reject_vars ctxt' o Syntax.check_term ctxt' o Type.constraint T
   320   end;
   320   end;
   321 
   321 
   322 fun fully_static_value_strict cookie = Exn.release ooo fully_static_value_exn cookie;
   322 fun fully_static_value_strict cookie x = Exn.release oo fully_static_value_exn cookie x;
   323 
   323 
   324 fun fully_static_value cookie = partiality_as_none ooo fully_static_value_exn cookie;
   324 fun fully_static_value cookie x = partiality_as_none oo fully_static_value_exn cookie x;
   325 
   325 
   326 
   326 
   327 (** code antiquotation **)
   327 (** code antiquotation **)
   328 
   328 
   329 local
   329 local