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