(***************************************************************************) (* 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. *) (***************************************************************************) (** Debugging functions, that can be triggered on a per-file base. *) module type CONTROL = sig val debug : bool val time : bool val printing : bool end module Debug : functor (X : CONTROL) -> sig (** {!debug} prints the string and end it with a newline *) val debug : string -> unit val debug_exception : string -> exn -> unit (** {!time} computes the time spent in a function, and then print it using the given format *) val time : ('a -> 'b) -> 'a -> (float -> unit, out_channel, unit) format -> 'b (** {!pr_constr} print a Coq constructor, that can be labelled by a string *) val pr_constr : Environ.env -> Evd.evar_map -> string -> EConstr.constr -> unit end