src/Pure/General/output.ML
changeset 16191 9d503d6fcbb1
parent 15531 08c8dad8e399
child 16683 f1ea17a4f222
equal deleted inserted replaced
16190:8382835019d1 16191:9d503d6fcbb1
     9 sig
     9 sig
    10   val print_mode: string list ref
    10   val print_mode: string list ref
    11   val std_output: string -> unit
    11   val std_output: string -> unit
    12   val std_error: string -> unit
    12   val std_error: string -> unit
    13   val immediate_output: string -> unit
    13   val immediate_output: string -> unit
    14   val writeln_default: string -> unit      
    14   val writeln_default: string -> unit
    15   val writeln_fn: (string -> unit) ref  
    15   val writeln_fn: (string -> unit) ref
    16   val priority_fn: (string -> unit) ref 
    16   val priority_fn: (string -> unit) ref
    17   val tracing_fn: (string -> unit) ref  
    17   val tracing_fn: (string -> unit) ref
    18   val warning_fn: (string -> unit) ref  
    18   val warning_fn: (string -> unit) ref
    19   val error_fn: (string -> unit) ref    
    19   val error_fn: (string -> unit) ref
    20   val panic_fn: (string -> unit) ref    
    20   val panic_fn: (string -> unit) ref
    21   val info_fn:  (string -> unit) ref    
    21   val info_fn: (string -> unit) ref
    22   val debug_fn: (string -> unit) ref    
    22   val debug_fn: (string -> unit) ref
    23   val writeln: string -> unit		(* default output (in messages window) *)
    23   val writeln: string -> unit           (*default output (in messages window)*)
    24   val priority: string -> unit		(* high-priority (maybe modal/pop-up; must be displayed) *)
    24   val priority: string -> unit          (*high-priority (maybe modal/pop-up; must be displayed)*)
    25   val tracing: string -> unit		(* tracing message (possibly in tracing window) *)
    25   val tracing: string -> unit           (*tracing message (possibly in tracing window)*)
    26   val warning: string -> unit		(* display warning of non-fatal error condition *)
    26   val warning: string -> unit           (*display warning of non-fatal situation*)
    27   val error_msg: string -> unit		(* display fatal error (possibly modal msg) *)
    27   val error_msg: string -> unit         (*display fatal error (possibly modal msg)*)
    28   val error: string -> 'a		(* display message as above, raise exn *)	
    28   val error: string -> 'a               (*display message as above, raise exn*)
    29   val sys_error: string -> 'a		(* internal fatal error condition; raise exn *)
    29   val sys_error: string -> 'a           (*internal fatal error condition; raise exn*)
    30   val panic: string -> unit		(* unrecoverable fatal error; exits system! *)
    30   val panic: string -> unit             (*unrecoverable fatal error; exits system!*)
    31   val info: string -> unit		(* incidental information message (e.g. timing) *)
    31   val info: string -> unit              (*incidental information message (e.g. timing)*)
    32   val debug: string -> unit		(* internal debug messages, maybe hidden/disabled *)
    32   val debug: string -> unit             (*internal debug messages*)
    33   val show_debug_msgs: bool ref	
    33   val show_debug_msgs: bool ref
       
    34   val no_warnings: ('a -> 'b) -> 'a -> 'b
    34   val assert: bool -> string -> unit
    35   val assert: bool -> string -> unit
    35   val deny: bool -> string -> unit
    36   val deny: bool -> string -> unit
    36   val assert_all: ('a -> bool) -> 'a list -> ('a -> string) -> unit
    37   val assert_all: ('a -> bool) -> 'a list -> ('a -> string) -> unit
    37   val overwrite_warn: (''a * 'b) list * (''a * 'b) -> string -> (''a * 'b) list
    38   val overwrite_warn: (''a * 'b) list * (''a * 'b) -> string -> (''a * 'b) list
    38   datatype 'a error = Error of string | OK of 'a
    39   datatype 'a error = Error of string | OK of 'a
   128 fun priority s = ! priority_fn (output s);
   129 fun priority s = ! priority_fn (output s);
   129 fun tracing s = ! tracing_fn (output s);
   130 fun tracing s = ! tracing_fn (output s);
   130 fun warning s = ! warning_fn (output s);
   131 fun warning s = ! warning_fn (output s);
   131 fun info s = ! info_fn (output s);
   132 fun info s = ! info_fn (output s);
   132 
   133 
       
   134 fun no_warnings f = setmp warning_fn (K ()) f;
       
   135 
   133 val show_debug_msgs = ref false;
   136 val show_debug_msgs = ref false;
   134 fun debug s = if !show_debug_msgs then ! debug_fn (output s) else ()
   137 fun debug s = if ! show_debug_msgs then ! debug_fn (output s) else ()
   135 
   138 
   136 fun error_msg s = ! error_fn (output s);
   139 fun error_msg s = ! error_fn (output s);
   137 fun panic_msg s = ! panic_fn (output s);
   140 fun panic_msg s = ! panic_fn (output s);
       
   141 
   138 
   142 
   139 (* add_mode *)
   143 (* add_mode *)
   140 
   144 
   141 fun add_mode name (f, g, h) =
   145 fun add_mode name (f, g, h) =
   142  (if is_none (lookup_mode name) then ()
   146  (if is_none (lookup_mode name) then ()