template-haskell-2.23.0.0: Support library for Template Haskell
Safe HaskellSafe
LanguageHaskell2010

Language.Haskell.TH.PprLib

Description

Monadic front-end to Text.PrettyPrint

Documentation

($$) infixl 5 Source #

Arguments

:: Doc 
-> Doc 
-> Doc

Above; if there is no overlap it "dovetails" the two

($+$) infixl 5 Source #

Arguments

:: Doc 
-> Doc 
-> Doc

Above, without dovetailing.

(<+>) infixl 6 Source #

Arguments

:: Doc 
-> Doc 
-> Doc

Beside, separated by space

(<>) infixl 6 Source #

Arguments

:: Doc 
-> Doc 
-> Doc

Beside

arrow Source #

Arguments

:: Doc

A "->" string

braces Source #

Arguments

:: Doc 
-> Doc

Wrap document in {...}

brackets Source #

Arguments

:: Doc 
-> Doc

Wrap document in [...]

cat Source #

Arguments

:: [Doc] 
-> Doc

Either hcat or vcat

colon Source #

Arguments

:: Doc

A : character

comma Source #

Arguments

:: Doc

A ',' character

dcolon Source #

Arguments

:: Doc

A "::" string

doubleQuotes Source #

Arguments

:: Doc 
-> Doc

Wrap document in "..."

empty Source #

Arguments

:: Doc

An empty document

equals Source #

Arguments

:: Doc

A '=' character

fcat Source #

Arguments

:: [Doc] 
-> Doc

"Paragraph fill" version of cat

fsep Source #

Arguments

:: [Doc] 
-> Doc

"Paragraph fill" version of sep

hang Source #

Arguments

:: Doc 
-> Int 
-> Doc 
-> Doc
hang d1 n d2 = sep [d1, nest n d2]

hcat Source #

Arguments

:: [Doc] 
-> Doc

List version of <>

hsep Source #

Arguments

:: [Doc] 
-> Doc

List version of <+>

isEmpty Source #

Arguments

:: Doc 
-> PprM Bool

Returns True if the document is empty

lbrace Source #

Arguments

:: Doc

A '{' character

lbrack Source #

Arguments

:: Doc

A '[' character

lparen Source #

Arguments

:: Doc

A '(' character

nest Source #

Arguments

:: Int 
-> Doc 
-> Doc

Nested

parens Source #

Arguments

:: Doc 
-> Doc

Wrap document in (...)

punctuate Source #

Arguments

:: Doc 
-> [Doc] 
-> [Doc]
punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]

quotes Source #

Arguments

:: Doc 
-> Doc

Wrap document in '...'

rbrace Source #

Arguments

:: Doc

A '}' character

rbrack Source #

Arguments

:: Doc

A ']' character

rparen Source #

Arguments

:: Doc

A ')' character

semi Source #

Arguments

:: Doc

A ';' character

sep Source #

Arguments

:: [Doc] 
-> Doc

Either hsep or vcat

space Source #

Arguments

:: Doc

A space character

vcat Source #

Arguments

:: [Doc] 
-> Doc

List version of $$

type Doc = PprM Doc Source #

data PprM a Source #

Instances

Instances details
Applicative PprM Source # 
Instance details

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 #

Functor PprM Source # 
Instance details

Defined in GHC.Boot.TH.PprLib

Methods

fmap :: (a -> b) -> PprM a -> PprM b Source #

(<$) :: a -> PprM b -> PprM a Source #

Monad PprM Source # 
Instance details

Defined in GHC.Boot.TH.PprLib

Methods

(>>=) :: PprM a -> (a -> PprM b) -> PprM b Source #

(>>) :: PprM a -> PprM b -> PprM b Source #

return :: a -> PprM a Source #

Show Doc Source # 
Instance details

Defined in GHC.Boot.TH.PprLib