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

Language.Haskell.TH.Ppr

Description

contains a prettyprinter for the Template Haskell datatypes

Synopsis

Documentation

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 TypeArg Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr ArgPat Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: ArgPat -> Doc Source #

ppr_list :: [ArgPat] -> Doc Source #

Ppr Bang Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Bang -> Doc Source #

ppr_list :: [Bang] -> Doc Source #

Ppr Clause Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Clause -> Doc Source #

ppr_list :: [Clause] -> Doc Source #

Ppr Con Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Con -> Doc Source #

ppr_list :: [Con] -> Doc Source #

Ppr Dec Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Dec -> Doc Source #

ppr_list :: [Dec] -> Doc Source #

Ppr DecidedStrictness Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Exp Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Exp -> Doc Source #

ppr_list :: [Exp] -> Doc Source #

Ppr FamilyResultSig Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Foreign Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr FunDep Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: FunDep -> Doc Source #

ppr_list :: [FunDep] -> Doc Source #

Ppr Info Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Info -> Doc Source #

ppr_list :: [Info] -> Doc Source #

Ppr InjectivityAnn Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Inline Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Inline -> Doc Source #

ppr_list :: [Inline] -> Doc Source #

Ppr Lit Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Lit -> Doc Source #

ppr_list :: [Lit] -> Doc Source #

Ppr Loc Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Loc -> Doc Source #

ppr_list :: [Loc] -> Doc Source #

Ppr Match Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Match -> Doc Source #

ppr_list :: [Match] -> Doc Source #

Ppr Module Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Module -> Doc Source #

ppr_list :: [Module] -> Doc Source #

Ppr ModuleInfo Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Name Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Name -> Doc Source #

ppr_list :: [Name] -> Doc Source #

Ppr Pat Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Pat -> Doc Source #

ppr_list :: [Pat] -> Doc Source #

Ppr PatSynArgs Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr PatSynDir Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Phases Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Phases -> Doc Source #

ppr_list :: [Phases] -> Doc Source #

Ppr Pragma Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Pragma -> Doc Source #

ppr_list :: [Pragma] -> Doc Source #

Ppr Range Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Range -> Doc Source #

ppr_list :: [Range] -> Doc Source #

Ppr Role Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Role -> Doc Source #

ppr_list :: [Role] -> Doc Source #

Ppr RuleBndr Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr RuleMatch Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr SourceStrictness Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr SourceUnpackedness Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Ppr Stmt Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Stmt -> Doc Source #

ppr_list :: [Stmt] -> Doc Source #

Ppr TyLit Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: TyLit -> Doc Source #

ppr_list :: [TyLit] -> Doc Source #

Ppr Type Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: Type -> Doc Source #

ppr_list :: [Type] -> Doc Source #

PprFlag flag => Ppr (TyVarBndr flag) Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: TyVarBndr flag -> Doc Source #

ppr_list :: [TyVarBndr flag] -> Doc Source #

Ppr a => Ppr [a] Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

Methods

ppr :: [a] -> Doc Source #

ppr_list :: [[a]] -> 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.

ppr_dec Source #

Arguments

:: Bool

declaration on the toplevel?

-> Dec 
-> Doc 

ppr_data Source #

Arguments

:: Bool

declaration on the toplevel?

-> Doc 
-> Cxt 
-> Maybe Name 
-> Doc 
-> Maybe Kind 
-> [Con] 
-> [DerivClause] 
-> Doc 

ppr_newtype Source #

Arguments

:: Bool

declaration on the toplevel?

-> Doc 
-> Cxt 
-> Maybe Name 
-> Doc 
-> Maybe Kind 
-> Con 
-> [DerivClause] 
-> Doc 

ppr_type_data Source #

Arguments

:: Bool

declaration on the toplevel?

-> Doc 
-> Cxt 
-> Maybe Name 
-> Doc 
-> Maybe Kind 
-> [Con] 
-> [DerivClause] 
-> Doc 

ppr_typedef :: String -> Bool -> Doc -> Cxt -> Maybe Name -> Doc -> Maybe Kind -> [Con] -> [DerivClause] -> Doc Source #

ppr_bndrs :: PprFlag flag => Maybe [TyVarBndr flag] -> 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.

data ForallVisFlag Source #

Constructors

ForallVis 
ForallInvis 

Instances

Instances details
Show ForallVisFlag Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

data TypeArg Source #

Constructors

TANormal Type 
TyArg Kind 

Instances

Instances details
Ppr TypeArg Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

class PprFlag flag where Source #

Methods

pprTyVarBndr :: TyVarBndr flag -> Doc Source #

Instances

Instances details
PprFlag BndrVis Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

PprFlag Specificity Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

PprFlag () Source # 
Instance details

Defined in Language.Haskell.TH.Ppr

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

sepWith :: Doc -> (a -> Doc) -> [a] -> Doc Source #

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

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

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

semiSepWith :: (a -> Doc) -> [a] -> Doc Source #