Language.Haskell.TH.Ppr

template-haskell-2.8.0.0

Safe Haskell | None

Language.Haskell.TH.Ppr

Description

contains a prettyprinter for the Template Haskell datatypes

# Documentation

nestDepth :: Int

type Precedence = Int

appPrec :: Precedence

noPrec :: Precedence

opPrec :: Precedence

unopPrec :: Precedence

parensIf :: Bool -> Doc -> Doc

pprint :: Ppr a => a -> String

class Ppr a where

Methods

ppr :: a -> Doc

ppr_list :: [a] -> Doc

Instances

Ppr Exp |
Ppr Match |
Ppr Clause |
Ppr Pat |
Ppr Type |
Ppr Dec |
Ppr Name |
Ppr FunDep |
Ppr Pred |
Ppr TyVarBndr |
Ppr TyLit |
Ppr Con |
Ppr RuleBndr |
Ppr Phases |
Ppr RuleMatch |
Ppr Inline |
Ppr Pragma |
Ppr Foreign |
Ppr FamFlavour |
Ppr Range |
Ppr Stmt |
Ppr Info |
Ppr a => Ppr [a] |

ppr_sig :: Name -> Type -> Doc

pprFixity :: Name -> Fixity -> Doc

pprInfixExp :: Exp -> Doc

pprExp :: Precedence -> Exp -> Doc

pprFields :: [(Name, Exp)] -> Doc

pprMaybeExp :: Precedence -> Maybe Exp -> Doc

pprGuarded :: Doc -> (Guard, Exp) -> Doc

pprBody :: Bool -> Body -> Doc

pprLit :: Precedence -> Lit -> Doc

bytesToString :: [Word8] -> String

pprString :: String -> Doc

pprPat :: Precedence -> Pat -> Doc

ppr_dec :: Bool -> Dec -> Doc

ppr_data :: Doc -> Cxt -> Name -> Doc -> [Con] -> [Name] -> Doc

ppr_newtype :: Doc -> Cxt -> Name -> Doc -> Con -> [Name] -> Doc

ppr_tySyn :: Doc -> Name -> Doc -> Type -> Doc

pprVarStrictType :: (Name, Strict, Type) -> Doc

pprStrictType :: (Strict, Type) -> Doc

pprParendType :: Type -> Doc

pprTyApp :: (Type, [Type]) -> Doc

pprFunArgType :: Type -> Doc

split :: Type -> (Type, [Type])

pprTyLit :: TyLit -> Doc

pprCxt :: Cxt -> Doc

where_clause :: [Dec] -> Doc

showtextl :: Show a => a -> Doc

hashParens :: Doc -> Doc

quoteParens :: Doc -> Doc