Language.Haskell.TH.PprLib
Description
Monadic front-end to Text.PrettyPrint
($$) infixl 5 Source #
Arguments
Above; if there is no overlap it "dovetails" the two
($+$) infixl 5 Source #
Above, without dovetailing.
(<+>) infixl 6 Source #
Beside, separated by space
(<>) infixl 6 Source #
Beside
arrow Source #
A "->" string
braces Source #
Wrap document in {...}
{...}
brackets Source #
Wrap document in [...]
[...]
cat Source #
Either hcat or vcat
char :: Char -> Doc Source #
colon Source #
A : character
:
comma Source #
A ',' character
dcolon Source #
A "::" string
double :: Double -> Doc Source #
doubleQuotes Source #
Wrap document in "..."
"..."
empty Source #
An empty document
equals Source #
A '=' character
fcat Source #
"Paragraph fill" version of cat
float :: Float -> Doc Source #
fsep Source #
"Paragraph fill" version of sep
hang Source #
hang d1 n d2 = sep [d1, nest n d2]
hcat Source #
List version of <>
<>
hsep Source #
List version of <+>
<+>
int :: Int -> Doc Source #
integer :: Integer -> Doc Source #
isEmpty Source #
Returns True if the document is empty
True
lbrace Source #
A '{' character
lbrack Source #
A '[' character
lparen Source #
A '(' character
nest Source #
Nested
parens Source #
Wrap document in (...)
(...)
pprName :: Name -> Doc Source #
pprName' :: NameIs -> Name -> Doc Source #
ptext :: String -> Doc Source #
punctuate Source #
punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]
quotes Source #
Wrap document in '...'
'...'
rational :: Rational -> Doc Source #
rbrace Source #
A '}' character
rbrack Source #
A ']' character
rparen Source #
A ')' character
semi Source #
A ';' character
sep Source #
Either hsep or vcat
space Source #
A space character
text :: String -> Doc Source #
to_HPJ_Doc :: Doc -> Doc Source #
vcat Source #
List version of $$
$$
type Doc = PprM Doc Source #
data PprM a Source #
Defined in GHC.Boot.TH.PprLib
Methods
pure :: a -> PprM a Source #
(<*>) :: PprM (a -> b) -> PprM a -> PprM b Source #
liftA2 :: (a -> b -> c) -> PprM a -> PprM b -> PprM c Source #
(*>) :: PprM a -> PprM b -> PprM b Source #
(<*) :: PprM a -> PprM b -> PprM a Source #
fmap :: (a -> b) -> PprM a -> PprM b Source #
(<$) :: a -> PprM b -> PprM a Source #
(>>=) :: PprM a -> (a -> PprM b) -> PprM b Source #
(>>) :: PprM a -> PprM b -> PprM b Source #
return :: a -> PprM a Source #
showsPrec :: Int -> Doc -> ShowS Source #
show :: Doc -> String Source #
showList :: [Doc] -> ShowS Source #