1signature HOLPP =
2sig
3(* PP -- pretty-printing -- from the SML/NJ library *)
4
5datatype pretty = datatype PrettyImpl.pretty
6
7type 'a pprinter = 'a -> pretty
8
9datatype break_style =
10    CONSISTENT
11  | INCONSISTENT
12
13datatype 'a frag = QUOTE of string | ANTIQUOTE of 'a
14type 'a quotation = 'a frag list
15
16val prettyPrint : (string -> unit) * int -> pretty -> unit
17val pp_to_string : int -> ('a -> pretty) -> 'a -> string
18
19val add_string : string -> pretty
20val add_stringsz : string * int -> pretty
21val add_break : int * int -> pretty
22val NL : pretty
23val add_newline : pretty
24val block : break_style -> int -> pretty list -> pretty
25
26val pr_list : 'a pprinter -> pretty list -> 'a list -> pretty list
27val tabulateWith : (int -> 'a) -> 'a list -> int -> 'a list
28
29val pp_pretty : pretty pprinter
30
31
32end
33