|
Language.Haskell.TH.PprLib |
|
|
|
|
|
Synopsis |
|
|
|
|
The document type
|
|
type Doc = PprM Doc |
|
data PprM a |
Instances | |
|
|
Primitive Documents
|
|
empty :: Doc |
An empty document
|
|
semi :: Doc |
A ';' character
|
|
comma :: Doc |
A ',' character
|
|
colon :: Doc |
A ':' character
|
|
space :: Doc |
A space character
|
|
equals :: Doc |
A '=' character
|
|
lparen :: Doc |
A '(' character
|
|
rparen :: Doc |
A ')' character
|
|
lbrack :: Doc |
A '[' character
|
|
rbrack :: Doc |
A ']' character
|
|
lbrace :: Doc |
A '{' character
|
|
rbrace :: Doc |
A '}' character
|
|
Converting values into documents
|
|
text :: String -> Doc |
|
char :: Char -> Doc |
|
ptext :: String -> Doc |
|
int :: Int -> Doc |
|
integer :: Integer -> Doc |
|
float :: Float -> Doc |
|
double :: Double -> Doc |
|
rational :: Rational -> Doc |
|
Wrapping documents in delimiters
|
|
parens :: Doc -> Doc |
Wrap document in (...)
|
|
brackets :: Doc -> Doc |
Wrap document in [...]
|
|
braces :: Doc -> Doc |
Wrap document in {...}
|
|
quotes :: Doc -> Doc |
Wrap document in '...'
|
|
doubleQuotes :: Doc -> Doc |
Wrap document in "..."
|
|
Combining documents
|
|
(<>) :: Doc -> Doc -> Doc |
Beside
|
|
(<+>) :: Doc -> Doc -> Doc |
Beside, separated by space
|
|
hcat :: [Doc] -> Doc |
List version of <>
|
|
hsep :: [Doc] -> Doc |
List version of <+>
|
|
($$) :: Doc -> Doc -> Doc |
Above; if there is no
overlap it "dovetails" the two
|
|
($+$) :: Doc -> Doc -> Doc |
Above, without dovetailing.
|
|
vcat :: [Doc] -> Doc |
List version of $$
|
|
sep :: [Doc] -> Doc |
Either hsep or vcat
|
|
cat :: [Doc] -> Doc |
Either hcat or vcat
|
|
fsep :: [Doc] -> Doc |
"Paragraph fill" version of sep
|
|
fcat :: [Doc] -> Doc |
"Paragraph fill" version of cat
|
|
nest :: Int -> Doc -> Doc |
Nested
|
|
hang :: Doc -> Int -> Doc -> Doc |
hang d1 n d2 = sep [d1, nest n d2] |
|
punctuate :: Doc -> [Doc] -> [Doc] |
punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn] |
|
Predicates on documents
|
|
isEmpty :: Doc -> PprM Bool |
Returns True if the document is empty
|
|
to_HPJ_Doc :: Doc -> Doc |
|
pprName :: Name -> Doc |
|
Produced by Haddock version 0.8 |