32 val blk: int * T list -> T |
32 val blk: int * T list -> T |
33 val block: T list -> T |
33 val block: T list -> T |
34 val strs: string list -> T |
34 val strs: string list -> T |
35 val markup: Markup.T -> T list -> T |
35 val markup: Markup.T -> T list -> T |
36 val mark: Markup.T -> T -> T |
36 val mark: Markup.T -> T -> T |
|
37 val mark_str: Markup.T * string -> T |
|
38 val marks_str: Markup.T list * string -> T |
37 val keyword: string -> T |
39 val keyword: string -> T |
38 val command: string -> T |
40 val command: string -> T |
39 val markup_chunks: Markup.T -> T list -> T |
41 val markup_chunks: Markup.T -> T list -> T |
40 val chunks: T list -> T |
42 val chunks: T list -> T |
41 val chunks2: T list -> T |
43 val chunks2: T list -> T |
136 val blk = markup_block Markup.empty; |
138 val blk = markup_block Markup.empty; |
137 fun block prts = blk (2, prts); |
139 fun block prts = blk (2, prts); |
138 val strs = block o breaks o map str; |
140 val strs = block o breaks o map str; |
139 |
141 |
140 fun markup m prts = markup_block m (0, prts); |
142 fun markup m prts = markup_block m (0, prts); |
141 fun mark m prt = markup m [prt]; |
143 fun mark m prt = if m = Markup.empty then prt else markup m [prt]; |
142 fun keyword name = mark Markup.keyword (str name); |
144 fun mark_str (m, s) = mark m (str s); |
143 fun command name = mark Markup.command (str name); |
145 fun marks_str (ms, s) = fold_rev mark ms (str s); |
|
146 |
|
147 fun keyword name = mark_str (Markup.keyword, name); |
|
148 fun command name = mark_str (Markup.command, name); |
144 |
149 |
145 fun markup_chunks m prts = markup m (fbreaks prts); |
150 fun markup_chunks m prts = markup m (fbreaks prts); |
146 val chunks = markup_chunks Markup.empty; |
151 val chunks = markup_chunks Markup.empty; |
147 fun chunks2 prts = blk (0, flat (Library.separate [fbrk, fbrk] (map single prts))); |
152 fun chunks2 prts = blk (0, flat (Library.separate [fbrk, fbrk] (map single prts))); |
148 |
153 |