úÎ<7§>      !"#$%&'()*+,-./0123456789:;<=portable provisionalandygill@ku.eduT> The abstract type of documents.  The ?! instance is equivalent to using ;. @ABCDEFGRendering mode. All on one line &No indentation, infinitely long lines With zig-zag cuts Normal A rendering style. The rendering mode Length of line, in chars &Ratio of ribbon length to line length The default style (1mode=PageMode, lineLength=100, ribbonsPerLine=1.5). A ';' character A : character A ',' character A space character A '=' character A '(' character A ')' character A '[' character A ']' character A '{' character A '}' character  int n = text (show n) integer n = text (show n) float n = text (show n)  double n = text (show n)! rational n = text (show n)"Wrap document in '...' #Wrap document in "..." $Wrap document in (...) %Wrap document in [...] &Wrap document in {...} 'List version of 4. (List version of 5. )List version of 2. * !hang d1 n d2 = sep [d1, nest n d2]+ punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]H,1The empty document, with no height and no width.  , is the identity for 4, 5, 2 and 3, and anywhere  in the argument list for 6, ', (, ), 9 etc. -Returns I if the document is empty .BA document of height and width 1, containing a literal character. /4A document of height 1 containing a literal string.  / satisfies the following laws:  / s 4 / t = / (sJt) / "" 4 x = x, if x non-empty 8The side condition on the last law is necessary because / ""  has height 1, while , has no height. 0'An obsolete function, now identical to /. 1;Nest (or indent) a document by a given number of positions  (which may also be negative). 1 satisfies the laws:  1 0 x = x 1 k (1 k' x) = 1 (k+k') x 1 k (x 4 y) = 1 k z 4 1 k y 1 k (x 2 y) = 1 k x 2 1 k y 1 k , = , x 4 1 k y = x 4 y, if x non-empty 5The side condition on the last law is needed because  , is a left identity for 4. K2@Above, except that if the last line of the first argument stops C at least one position before the first line of the second begins, / these two lines are overlapped. For example:  ' text "hi" $$ nest 5 (text "there")  lays out as   hi there  rather than   hi  there 2 is associative, with identity ,, and also satisfies  (x 2 y) 4 z = x 2 (y 4 z), if y non-empty. 3Above, with no overlapping.  3 is associative, with identity ,. LMNO4Beside.  4 is associative, with identity ,. 5;Beside, separated by space, unless one of the arguments is ,.  5 is associative, with identity ,. PQ6Either ( or ). 7Either ' or ). R8"Paragraph fill" version of 6. 9"Paragraph fill" version of 7. STUV:9Render the document as a string using a specified style. ;3Renders the document as a string using the default . <!The general rendering interface. Rendering mode  Line length Ribbons per line What to do with text What to do at the end  The document Result =8mark inserts a zero width mark into the output document >  !"#$%&'()*+,-./0123456789:;<=>./0 !$%&"#,45'(23)67891*+-; :< =>     !"#$%&'()*+,-./0123456789:;<=W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN@OPQRSTUVWXYZ[\]marked-pretty-0.1Text.PrettyPrint.MarkedHughesPJ TextDetailsMarkPStrStrChrMDocDocMode OneLineModeLeftMode ZigZagModePageModeStylemode lineLengthribbonsPerLinestylesemicoloncommaspaceequalslparenrparenlbrackrbracklbracerbraceintintegerfloatdoublerationalquotes doubleQuotesparensbracketsbraceshcathsepvcathang punctuateemptyisEmptychartextptextnest$$$+$<><+>sepcatfsepfcat renderStylerender fullRendermarkRDocbaseGHC.ShowShowAboveBesideNoDocUnionNest TextBesideNilAboveEmpty reduceDocghc-primGHC.BoolTrueGHC.Base++above_above aboveNest nilAboveNestbeside_beside nilBesidesep1fill1bestfitsoneLiner