úÎ'…$W     BSD3!Olaf Chitil <O.Chitil@kent.ac.uk>portableSafe)A Document represents a *set* of layouts.LA space, if the following still fits on the current line, otherwise newline.LNothing, if the following still fits on the current line, otherwise newline.5Increase identation relative to the *current* column. Combine with a space in between.Combine with a  in between.Combine with a  in between.Combine with a  in between.Combine with a  in between. )Combine non-empty list of documents with , i.e., a space separator. )Combine non-empty list of documents with  , i.e., a  separator. )Combine non-empty list of documents with  , i.e., a  separator. nCombine non-empty list of documents vertically as a group. Seperated by space instead if all fit on one line. )Combine non-empty list of documents with .)Combine non-empty list of documents with  , i.e., a  separator.)Combine non-empty list of documents with  , i.e., a  separator.FCombine non-empty list of documents, filling lines as far as possible.%The empty document; equal to text "".`Atomic document consisting of just the given text. There should be no newline \n in the string.Either a space or a new line.Either nothing () or a new line.HHorizontal composition of two documents. Is associative with identity .ÿVMark document as group, that is, layout as a single line if possible. Within a group for all basic documents with several layouts the same layout is chosen, that is, they are all horizontal or all new lines. Within a vertical group there can be a horizontal group, but within a horizontal group all groups are also layouted horizontally.FIncreases current indentation level (absolute). Assumes argument >= 0."Set indentation to current column.êPretty print within given width. Selects from the *set* of layouts that the document represents the widest that fits within the given width. If no such layout exists, then it will choose the narrowest that exceeds the given width.> !"#$%&'( )*+,-./0123456789:;<=  7 !"#$%&'( )*+,-./0123456789:;<=>      !"#$%&'()*+,-./0123456789:;<=>?@FPret_BT47lx2Y9RQJH1PLBzgnZZText.PrettyPrint.FPrettyDocsoftline softbreakhang<+><$><$$>hsepvsepfillSepsephcatvcatfillCatcatemptytextline linebreak<>groupnestalignprettyTreeContOutGroupOut Remaining Horizontal IndentationPositionWidthTextNilLine:<>GroupNestAlign normalise docLength interpretoutResetIndentextendFrontGroup leaveGroupprunepropprop0prop1prop2prop3prop4prop5prop6prop7prop8prop9prop10prop11prop12