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