src/HOL/Mirabelle/Tools/mirabelle_arith.ML
author boehmes
Thu, 03 Sep 2009 22:47:31 +0200
changeset 32515 e7c0d3c0494a
parent 32498 1132c7c13f36
child 32518 e3c4e337196c
permissions -rw-r--r--
Mirabelle: actions are responsible for catching exceptions and producing suitable log messages (makes log message uniform), removed PolyML.makestring (no strict dependency on PolyML anymore)

(* Title:  mirabelle_arith.ML
   Author: Jasmin Blanchette and Sascha Boehme
*)

structure Mirabelle_Arith : MIRABELLE_ACTION =
struct

fun arith_action {pre, timeout, log, ...} =
  if Mirabelle.can_apply timeout Arith_Data.arith_tac pre
  then log "arith: succeeded"
  else ()
  handle TimeLimit.TimeOut => log "arith: time out"

fun invoke _ = Mirabelle.register (Mirabelle.catch "arith: " arith_action)

end