Language.Haskell.TH.Ppr

Safe Haskell Safe
Language Haskell2010

Description

contains a prettyprinter for the Template Haskell datatypes

nestDepth :: Int Source

type Precedence = Int Source

appPrec :: Precedence Source

opPrec :: Precedence Source

unopPrec :: Precedence Source

sigPrec :: Precedence Source

noPrec :: Precedence Source

parensIf :: Bool -> Doc -> Doc Source

pprint :: Ppr a => a -> String Source

class Ppr a where Source

Minimal complete definition

ppr

Methods

ppr :: a -> Doc Source

ppr_list :: [a] -> Doc Source

Instances
Instances details
Ppr Exp
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Exp -> Doc Source

ppr_list :: [Exp] -> Doc Source

Ppr Match
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Match -> Doc Source

ppr_list :: [Match] -> Doc Source

Ppr Clause
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Clause -> Doc Source

ppr_list :: [Clause] -> Doc Source

Ppr Pat
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Pat -> Doc Source

ppr_list :: [Pat] -> Doc Source

Ppr Type
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Type -> Doc Source

ppr_list :: [Type] -> Doc Source

Ppr Dec
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Dec -> Doc Source

ppr_list :: [Dec] -> Doc Source

Ppr Name
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Name -> Doc Source

ppr_list :: [Name] -> Doc Source

Ppr FunDep
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: FunDep -> Doc Source

ppr_list :: [FunDep] -> Doc Source

Ppr InjectivityAnn
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Role
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Role -> Doc Source

ppr_list :: [Role] -> Doc Source

Ppr TyLit
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: TyLit -> Doc Source

ppr_list :: [TyLit] -> Doc Source

Ppr FamilyResultSig
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr TyVarBndr
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr PatSynArgs
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr PatSynDir
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Bang
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Bang -> Doc Source

ppr_list :: [Bang] -> Doc Source

Ppr Con
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Con -> Doc Source

ppr_list :: [Con] -> Doc Source

Ppr DecidedStrictness
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr SourceStrictness
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr SourceUnpackedness
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr RuleBndr
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: RuleBndr -> Doc Source

ppr_list :: [RuleBndr] -> Doc Source

Ppr Phases
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Phases -> Doc Source

ppr_list :: [Phases] -> Doc Source

Ppr RuleMatch
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Inline
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Inline -> Doc Source

ppr_list :: [Inline] -> Doc Source

Ppr Pragma
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Pragma -> Doc Source

ppr_list :: [Pragma] -> Doc Source

Ppr Foreign
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Foreign -> Doc Source

ppr_list :: [Foreign] -> Doc Source

Ppr Range
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Range -> Doc Source

ppr_list :: [Range] -> Doc Source

Ppr Stmt
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Stmt -> Doc Source

ppr_list :: [Stmt] -> Doc Source

Ppr Lit
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Lit -> Doc Source

ppr_list :: [Lit] -> Doc Source

Ppr ModuleInfo
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Info
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Info -> Doc Source

ppr_list :: [Info] -> Doc Source

Ppr Loc
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Loc -> Doc Source

ppr_list :: [Loc] -> Doc Source

Ppr Module
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Module -> Doc Source

ppr_list :: [Module] -> Doc Source

Ppr TypeArg
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: TypeArg -> Doc Source

ppr_list :: [TypeArg] -> Doc Source

Ppr a => Ppr [a]
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: [a] -> Doc Source

ppr_list :: [[a]] -> Doc Source

ppr_sig :: Name -> Type -> Doc Source

pprFixity :: Name -> Fixity -> Doc Source

pprPatSynSig :: Name -> PatSynType -> Doc Source

Pretty prints a pattern synonym type signature

pprPatSynType :: PatSynType -> Doc Source

Pretty prints a pattern synonym's type; follows the usual conventions to print a pattern synonym type compactly, yet unambiguously. See the note on PatSynType and the section on pattern synonyms in the GHC user's guide for more information.

pprPrefixOcc :: Name -> Doc Source

isSymOcc :: Name -> Bool Source

pprInfixExp :: Exp -> Doc Source

pprExp :: Precedence -> Exp -> Doc Source

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

pprMaybeExp :: Precedence -> Maybe Exp -> Doc Source

pprMatchPat :: Pat -> Doc Source

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

pprBody :: Bool -> Body -> Doc Source

pprLit :: Precedence -> Lit -> Doc Source

bytesToString :: [Word8] -> String Source

pprString :: String -> Doc Source

pprPat :: Precedence -> Pat -> Doc Source

ppr_dec :: Bool -> Dec -> Doc Source

ppr_deriv_strategy :: DerivStrategy -> Doc Source

ppr_overlap :: Overlap -> Doc Source

ppr_data :: Doc -> Cxt -> Maybe Name -> Doc -> Maybe Kind -> [Con] -> [DerivClause] -> Doc Source

ppr_newtype :: Doc -> Cxt -> Maybe Name -> Doc -> Maybe Kind -> Con -> [DerivClause] -> Doc Source

ppr_deriv_clause :: DerivClause -> Doc Source

ppr_tySyn :: Doc -> Maybe Name -> Doc -> Type -> Doc Source

ppr_tf_head :: TypeFamilyHead -> Doc Source

ppr_bndrs :: Maybe [TyVarBndr] -> Doc Source

commaSepApplied :: [Name] -> Doc Source

pprForall :: [TyVarBndr] -> Cxt -> Doc Source

pprForallVis :: [TyVarBndr] -> Cxt -> Doc Source

pprForall' :: ForallVisFlag -> [TyVarBndr] -> Cxt -> Doc Source

pprRecFields :: [(Name, Strict, Type)] -> Type -> Doc Source

pprGadtRHS :: [(Strict, Type)] -> Type -> Doc Source

pprVarBangType :: VarBangType -> Doc Source

pprBangType :: BangType -> Doc Source

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

Deprecated: As of template-haskell-2.11.0.0, VarStrictType has been replaced by VarBangType. Please use pprVarBangType instead.

pprStrictType :: (Strict, Type) -> Doc Source

Deprecated: As of template-haskell-2.11.0.0, StrictType has been replaced by BangType. Please use pprBangType instead.

pprParendType :: Type -> Doc Source

pprUInfixT :: Type -> Doc Source

pprParendTypeArg :: TypeArg -> Doc Source

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

pprFunArgType :: Type -> Doc Source

data ForallVisFlag Source

Constructors

ForallVis
ForallInvis
Instances
Instances details
Show ForallVisFlag
Instance details

Defined in Language.Haskell.TH.Ppr

data TypeArg Source

Constructors

TANormal Type
TyArg Kind
Instances
Instances details
Ppr TypeArg
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: TypeArg -> Doc Source

ppr_list :: [TypeArg] -> Doc Source

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

pprTyLit :: TyLit -> Doc Source

pprCxt :: Cxt -> Doc Source

ppr_cxt_preds :: Cxt -> Doc Source

where_clause :: [Dec] -> Doc Source

showtextl :: Show a => a -> Doc Source

hashParens :: Doc -> Doc Source

quoteParens :: Doc -> Doc Source

commaSep :: Ppr a => [a] -> Doc Source

commaSepWith :: (a -> Doc) -> [a] -> Doc Source

semiSep :: Ppr a => [a] -> Doc Source

unboxedSumBars :: Doc -> SumAlt -> SumArity -> Doc Source

bar :: Doc Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/template-haskell-2.16.0.0/Language-Haskell-TH-Ppr.html