34 val quote: T -> T |
34 val quote: T -> T |
35 val commas: T list -> T list |
35 val commas: T list -> T list |
36 val breaks: T list -> T list |
36 val breaks: T list -> T list |
37 val fbreaks: T list -> T list |
37 val fbreaks: T list -> T list |
38 val block: T list -> T |
38 val block: T list -> T |
|
39 val strs: string list -> T |
39 val parents: string -> string -> T list -> T |
40 val parents: string -> string -> T list -> T |
40 val list: string -> string -> T list -> T |
41 val list: string -> string -> T list -> T |
41 val str_list: string -> string -> string list -> T |
42 val str_list: string -> string -> string list -> T |
|
43 val big_list: string -> T list -> T |
42 val string_of: T -> string |
44 val string_of: T -> string |
|
45 val writeln: T -> unit |
43 val str_of: T -> string |
46 val str_of: T -> string |
44 val pprint: T -> pprint_args -> unit |
47 val pprint: T -> pprint_args -> unit |
45 val setdepth: int -> unit |
48 val setdepth: int -> unit |
46 val setmargin: int -> unit |
49 val setmargin: int -> unit |
47 end; |
50 end; |
163 |
166 |
164 fun fbreaks prts = separate fbrk prts; |
167 fun fbreaks prts = separate fbrk prts; |
165 |
168 |
166 fun block prts = blk (2, prts); |
169 fun block prts = blk (2, prts); |
167 |
170 |
|
171 val strs = block o breaks o (map str); |
|
172 |
168 fun parents lpar rpar prts = |
173 fun parents lpar rpar prts = |
169 block (str lpar :: (prts @ [str rpar])); |
174 block (str lpar :: (prts @ [str rpar])); |
170 |
175 |
171 fun list lpar rpar prts = |
176 fun list lpar rpar prts = |
172 parents lpar rpar (commas prts); |
177 parents lpar rpar (commas prts); |
173 |
178 |
174 fun str_list lpar rpar strs = |
179 fun str_list lpar rpar strs = |
175 list lpar rpar (map str strs); |
180 list lpar rpar (map str strs); |
|
181 |
|
182 fun big_list name prts = |
|
183 block (fbreaks (str name :: prts)); |
176 |
184 |
177 |
185 |
178 |
186 |
179 (*** Pretty printing with depth limitation ***) |
187 (*** Pretty printing with depth limitation ***) |
180 |
188 |