src/Pure/library.ML
changeset 12260 4898247d0102
parent 12249 dd9a51255855
child 12284 131e743d168a
equal deleted inserted replaced
12259:3949e7aba298 12260:4898247d0102
   243   (*I/O and diagnostics*)
   243   (*I/O and diagnostics*)
   244   val cd: string -> unit
   244   val cd: string -> unit
   245   val pwd: unit -> string
   245   val pwd: unit -> string
   246   val writeln_fn: (string -> unit) ref
   246   val writeln_fn: (string -> unit) ref
   247   val priority_fn: (string -> unit) ref
   247   val priority_fn: (string -> unit) ref
       
   248   val tracing_fn: (string -> unit) ref
   248   val warning_fn: (string -> unit) ref
   249   val warning_fn: (string -> unit) ref
   249   val error_fn: (string -> unit) ref
   250   val error_fn: (string -> unit) ref
   250   val writeln: string -> unit
   251   val writeln: string -> unit
   251   val priority: string -> unit
   252   val priority: string -> unit
       
   253   val tracing: string -> unit
   252   val warning: string -> unit
   254   val warning: string -> unit
   253   exception ERROR
   255   exception ERROR
   254   val error_msg: string -> unit
   256   val error_msg: string -> unit
   255   val error: string -> 'a
   257   val error: string -> 'a
   256   val sys_error: string -> 'a
   258   val sys_error: string -> 'a
  1172   txt |> split_lines |> map (fn s => prfx ^ s) |> cat_lines;
  1174   txt |> split_lines |> map (fn s => prfx ^ s) |> cat_lines;
  1173 
  1175 
  1174 (*hooks for output channels: normal, warning, error*)
  1176 (*hooks for output channels: normal, warning, error*)
  1175 val writeln_fn = ref (std_output o suffix "\n");
  1177 val writeln_fn = ref (std_output o suffix "\n");
  1176 val priority_fn = ref (fn s => ! writeln_fn s);
  1178 val priority_fn = ref (fn s => ! writeln_fn s);
       
  1179 val tracing_fn = ref (fn s => ! writeln_fn s);
  1177 val warning_fn = ref (std_output o suffix "\n" o prefix_lines "### ");
  1180 val warning_fn = ref (std_output o suffix "\n" o prefix_lines "### ");
  1178 val error_fn = ref (std_output o suffix "\n" o prefix_lines "*** ");
  1181 val error_fn = ref (std_output o suffix "\n" o prefix_lines "*** ");
  1179 
  1182 
  1180 fun writeln s = ! writeln_fn s;
  1183 fun writeln s = ! writeln_fn s;
  1181 fun priority s = ! priority_fn s;
  1184 fun priority s = ! priority_fn s;
       
  1185 fun tracing s = ! tracing_fn s;
  1182 fun warning s = ! warning_fn s;
  1186 fun warning s = ! warning_fn s;
  1183 
  1187 
  1184 (*print error message and abort to top level*)
  1188 (*print error message and abort to top level*)
  1185 
  1189 
  1186 fun error_msg s = ! error_fn s;
  1190 fun error_msg s = ! error_fn s;