diff options
author | Stephane Glondu <steph@glondu.net> | 2012-09-20 09:41:14 +0200 |
---|---|---|
committer | Stephane Glondu <steph@glondu.net> | 2012-09-20 09:41:14 +0200 |
commit | 8917ab003a9b7f2abf8e399b5e7ad013b31a2e0e (patch) | |
tree | ddabcfad1c52bf730690b1be7c900f25dcdf0ec3 /helper.ml | |
parent | 9216cffaaa1ef137ef5bdb5b290a930cc6198850 (diff) |
Imported Upstream version 0.3upstream/0.3
Diffstat (limited to 'helper.ml')
-rw-r--r-- | helper.ml | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/helper.ml b/helper.ml new file mode 100644 index 0000000..637def1 --- /dev/null +++ b/helper.ml @@ -0,0 +1,41 @@ +(***************************************************************************) +(* This is part of aac_tactics, it is distributed under the terms of the *) +(* GNU Lesser General Public License version 3 *) +(* (see file LICENSE for more details) *) +(* *) +(* Copyright 2009-2010: Thomas Braibant, Damien Pous. *) +(***************************************************************************) + +module type CONTROL = sig + val debug : bool + val time : bool + val printing : bool +end + +module Debug (X : CONTROL) = struct + open X + let debug x = + if debug then + Printf.printf "%s\n%!" x + + + let time f x fmt = + if time then + let t = Sys.time () in + let r = f x in + Printf.printf fmt (Sys.time () -. t); + r + else f x + + let pr_constr msg constr = + if printing then + ( Pp.msgnl (Pp.str (Printf.sprintf "=====%s====" msg)); + Pp.msgnl (Printer.pr_constr constr); + ) + + + let debug_exception msg e = + debug (msg ^ (Printexc.to_string e)) + + +end |