ghc-8.10.1: The GHC API
Safe HaskellNone
LanguageHaskell2010

Outputable

Description

This module defines classes and functions for pretty-printing. It also exports a number of helpful debugging and other utilities such as trace and panic.

The interface to this module is very similar to the standard Hughes-PJ pretty printing module, except that it exports a number of additional functions that are rarely used, and works over the SDoc type.

Synopsis

Type classes

class Outputable a where #

Class designating that some type has an SDoc representation

Minimal complete definition

Nothing

Methods

ppr :: a -> SDoc #

pprPrec :: Rational -> a -> SDoc #

Instances

Instances details
Outputable Bool # 
Instance details

Defined in Outputable

Methods

ppr :: Bool -> SDoc #

pprPrec :: Rational -> Bool -> SDoc #

Outputable Char # 
Instance details

Defined in Outputable

Methods

ppr :: Char -> SDoc #

pprPrec :: Rational -> Char -> SDoc #

Outputable Double # 
Instance details

Defined in Outputable

Methods

ppr :: Double -> SDoc #

pprPrec :: Rational -> Double -> SDoc #

Outputable Float # 
Instance details

Defined in Outputable

Methods

ppr :: Float -> SDoc #

pprPrec :: Rational -> Float -> SDoc #

Outputable Int # 
Instance details

Defined in Outputable

Methods

ppr :: Int -> SDoc #

pprPrec :: Rational -> Int -> SDoc #

Outputable Int32 # 
Instance details

Defined in Outputable

Methods

ppr :: Int32 -> SDoc #

pprPrec :: Rational -> Int32 -> SDoc #

Outputable Int64 # 
Instance details

Defined in Outputable

Methods

ppr :: Int64 -> SDoc #

pprPrec :: Rational -> Int64 -> SDoc #

Outputable Integer # 
Instance details

Defined in Outputable

Methods

ppr :: Integer -> SDoc #

pprPrec :: Rational -> Integer -> SDoc #

Outputable Ordering # 
Instance details

Defined in Outputable

Outputable Word # 
Instance details

Defined in Outputable

Methods

ppr :: Word -> SDoc #

pprPrec :: Rational -> Word -> SDoc #

Outputable Word16 # 
Instance details

Defined in Outputable

Methods

ppr :: Word16 -> SDoc #

pprPrec :: Rational -> Word16 -> SDoc #

Outputable Word32 # 
Instance details

Defined in Outputable

Methods

ppr :: Word32 -> SDoc #

pprPrec :: Rational -> Word32 -> SDoc #

Outputable () # 
Instance details

Defined in Outputable

Methods

ppr :: () -> SDoc #

pprPrec :: Rational -> () -> SDoc #

Outputable Fingerprint # 
Instance details

Defined in Outputable

Outputable Extension # 
Instance details

Defined in Outputable

Outputable Serialized # 
Instance details

Defined in Outputable

Outputable Delta # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: Delta -> SDoc #

pprPrec :: Rational -> Delta -> SDoc #

Outputable Name # 
Instance details

Defined in Name

Methods

ppr :: Name -> SDoc #

pprPrec :: Rational -> Name -> SDoc #

Outputable OccName # 
Instance details

Defined in OccName

Methods

ppr :: OccName -> SDoc #

pprPrec :: Rational -> OccName -> SDoc #

Outputable SDoc # 
Instance details

Defined in Outputable

Methods

ppr :: SDoc -> SDoc #

pprPrec :: Rational -> SDoc -> SDoc #

Outputable PrimOp # 
Instance details

Defined in PrimOp

Methods

ppr :: PrimOp -> SDoc #

pprPrec :: Rational -> PrimOp -> SDoc #

Outputable TyCon # 
Instance details

Defined in TyCon

Methods

ppr :: TyCon -> SDoc #

pprPrec :: Rational -> TyCon -> SDoc #

Outputable FastString # 
Instance details

Defined in Outputable

Outputable ComponentId # 
Instance details

Defined in Module

Outputable InstalledUnitId # 
Instance details

Defined in Module

Outputable UnitId # 
Instance details

Defined in Module

Methods

ppr :: UnitId -> SDoc #

pprPrec :: Rational -> UnitId -> SDoc #

Outputable ModuleName # 
Instance details

Defined in Module

Outputable Module # 
Instance details

Defined in Module

Methods

ppr :: Module -> SDoc #

pprPrec :: Rational -> Module -> SDoc #

Outputable QualifyName # 
Instance details

Defined in Outputable

Outputable PprStyle # 
Instance details

Defined in Outputable

Outputable TcTyVarDetails # 
Instance details

Defined in TcType

Outputable MetaDetails # 
Instance details

Defined in TcType

Outputable SrcSpan # 
Instance details

Defined in SrcLoc

Methods

ppr :: SrcSpan -> SDoc #

pprPrec :: Rational -> SrcSpan -> SDoc #

Outputable RealSrcSpan # 
Instance details

Defined in SrcLoc

Outputable SrcLoc # 
Instance details

Defined in SrcLoc

Methods

ppr :: SrcLoc -> SDoc #

pprPrec :: Rational -> SrcLoc -> SDoc #

Outputable RealSrcLoc # 
Instance details

Defined in SrcLoc

Outputable IdDetails # 
Instance details

Defined in IdInfo

Outputable TypeOrKind # 
Instance details

Defined in BasicTypes

Outputable IntWithInf # 
Instance details

Defined in BasicTypes

Outputable FractionalLit # 
Instance details

Defined in BasicTypes

Outputable IntegralLit # 
Instance details

Defined in BasicTypes

Outputable InlineSpec # 
Instance details

Defined in BasicTypes

Outputable InlinePragma # 
Instance details

Defined in BasicTypes

Outputable RuleMatchInfo # 
Instance details

Defined in BasicTypes

Outputable Activation # 
Instance details

Defined in BasicTypes

Outputable CompilerPhase # 
Instance details

Defined in BasicTypes

Outputable SourceText # 
Instance details

Defined in BasicTypes

Outputable SuccessFlag # 
Instance details

Defined in BasicTypes

Outputable TailCallInfo # 
Instance details

Defined in BasicTypes

Outputable OccInfo # 
Instance details

Defined in BasicTypes

Methods

ppr :: OccInfo -> SDoc #

pprPrec :: Rational -> OccInfo -> SDoc #

Outputable TupleSort # 
Instance details

Defined in BasicTypes

Outputable OverlapMode # 
Instance details

Defined in BasicTypes

Outputable OverlapFlag # 
Instance details

Defined in BasicTypes

Outputable Origin # 
Instance details

Defined in BasicTypes

Methods

ppr :: Origin -> SDoc #

pprPrec :: Rational -> Origin -> SDoc #

Outputable RecFlag # 
Instance details

Defined in BasicTypes

Methods

ppr :: RecFlag -> SDoc #

pprPrec :: Rational -> RecFlag -> SDoc #

Outputable Boxity # 
Instance details

Defined in BasicTypes

Methods

ppr :: Boxity -> SDoc #

pprPrec :: Rational -> Boxity -> SDoc #

Outputable TopLevelFlag # 
Instance details

Defined in BasicTypes

Outputable LexicalFixity # 
Instance details

Defined in BasicTypes

Outputable FixityDirection # 
Instance details

Defined in BasicTypes

Outputable Fixity # 
Instance details

Defined in BasicTypes

Methods

ppr :: Fixity -> SDoc #

pprPrec :: Rational -> Fixity -> SDoc #

Outputable WarningTxt # 
Instance details

Defined in BasicTypes

Outputable StringLiteral # 
Instance details

Defined in BasicTypes

Outputable FunctionOrData # 
Instance details

Defined in BasicTypes

Outputable SwapFlag # 
Instance details

Defined in BasicTypes

Outputable OneShotInfo # 
Instance details

Defined in BasicTypes

Outputable Alignment # 
Instance details

Defined in BasicTypes

Outputable LeftOrRight # 
Instance details

Defined in BasicTypes

Outputable Unique # 
Instance details

Defined in Unique

Methods

ppr :: Unique -> SDoc #

pprPrec :: Rational -> Unique -> SDoc #

Outputable RegClass # 
Instance details

Defined in RegClass

Outputable Reg #

Print a reg in a generic manner If you want the architecture specific names, then use the pprReg function from the appropriate Ppr module.

Instance details

Defined in Reg

Methods

ppr :: Reg -> SDoc #

pprPrec :: Rational -> Reg -> SDoc #

Outputable RealReg # 
Instance details

Defined in Reg

Methods

ppr :: RealReg -> SDoc #

pprPrec :: Rational -> RealReg -> SDoc #

Outputable VirtualReg # 
Instance details

Defined in Reg

Outputable DefUnitId # 
Instance details

Defined in Module

Outputable InstalledModule # 
Instance details

Defined in Module

Outputable IndefModule # 
Instance details

Defined in Module

Outputable IndefUnitId # 
Instance details

Defined in Module

Outputable ModLocation # 
Instance details

Defined in Module

Outputable PackageName # 
Instance details

Defined in PackageConfig

Outputable SourcePackageId # 
Instance details

Defined in PackageConfig

Outputable CType # 
Instance details

Defined in ForeignCall

Methods

ppr :: CType -> SDoc #

pprPrec :: Rational -> CType -> SDoc #

Outputable Header # 
Instance details

Defined in ForeignCall

Methods

ppr :: Header -> SDoc #

pprPrec :: Rational -> Header -> SDoc #

Outputable CCallConv # 
Instance details

Defined in ForeignCall

Outputable CCallSpec # 
Instance details

Defined in ForeignCall

Outputable CExportSpec # 
Instance details

Defined in ForeignCall

Outputable Safety # 
Instance details

Defined in ForeignCall

Methods

ppr :: Safety -> SDoc #

pprPrec :: Rational -> Safety -> SDoc #

Outputable ForeignCall # 
Instance details

Defined in ForeignCall

Outputable Phase # 
Instance details

Defined in DriverPhases

Methods

ppr :: Phase -> SDoc #

pprPrec :: Rational -> Phase -> SDoc #

Outputable EdgeType # 
Instance details

Defined in Digraph

Outputable WarnReason # 
Instance details

Defined in CmdLineParser

Outputable PackageFlag # 
Instance details

Defined in DynFlags

Outputable ModRenaming # 
Instance details

Defined in DynFlags

Outputable PackageArg # 
Instance details

Defined in DynFlags

Outputable GhcMode # 
Instance details

Defined in DynFlags

Methods

ppr :: GhcMode -> SDoc #

pprPrec :: Rational -> GhcMode -> SDoc #

Outputable SafeHaskellMode # 
Instance details

Defined in DynFlags

Outputable Language # 
Instance details

Defined in DynFlags

Outputable WarnReason # 
Instance details

Defined in DynFlags

Outputable ArgDescr # 
Instance details

Defined in SMRep

Outputable ClosureTypeInfo # 
Instance details

Defined in SMRep

Outputable SMRep # 
Instance details

Defined in SMRep

Methods

ppr :: SMRep -> SDoc #

pprPrec :: Rational -> SMRep -> SDoc #

Outputable StgHalfWord # 
Instance details

Defined in SMRep

Outputable StgWord # 
Instance details

Defined in SMRep

Methods

ppr :: StgWord -> SDoc #

pprPrec :: Rational -> StgWord -> SDoc #

Outputable CoreToDo # 
Instance details

Defined in CoreMonad

Outputable ForeignHint # 
Instance details

Defined in PprCmmDecl

Outputable Width # 
Instance details

Defined in CmmType

Methods

ppr :: Width -> SDoc #

pprPrec :: Rational -> Width -> SDoc #

Outputable CmmType # 
Instance details

Defined in CmmType

Methods

ppr :: CmmType -> SDoc #

pprPrec :: Rational -> CmmType -> SDoc #

Outputable Var # 
Instance details

Defined in Var

Methods

ppr :: Var -> SDoc #

pprPrec :: Rational -> Var -> SDoc #

Outputable AnonArgFlag # 
Instance details

Defined in Var

Outputable ArgFlag # 
Instance details

Defined in Var

Methods

ppr :: ArgFlag -> SDoc #

pprPrec :: Rational -> ArgFlag -> SDoc #

Outputable MCoercion # 
Instance details

Defined in TyCoRep

Outputable TyCoBinder # 
Instance details

Defined in TyCoRep

Outputable TyLit # 
Instance details

Defined in TyCoRep

Methods

ppr :: TyLit -> SDoc #

pprPrec :: Rational -> TyLit -> SDoc #

Outputable UnivCoProvenance # 
Instance details

Defined in TyCoRep

Outputable Coercion # 
Instance details

Defined in TyCoRep

Outputable TyThing # 
Instance details

Defined in TyCoRep

Methods

ppr :: TyThing -> SDoc #

pprPrec :: Rational -> TyThing -> SDoc #

Outputable Type # 
Instance details

Defined in TyCoRep

Methods

ppr :: Type -> SDoc #

pprPrec :: Rational -> Type -> SDoc #

Outputable UnusablePackageReason # 
Instance details

Defined in Packages

Outputable ModuleOrigin # 
Instance details

Defined in Packages

Outputable ArgDocMap # 
Instance details

Defined in GHC.Hs.Doc

Outputable DeclDocMap # 
Instance details

Defined in GHC.Hs.Doc

Outputable HsDocString # 
Instance details

Defined in GHC.Hs.Doc

Outputable AvailInfo # 
Instance details

Defined in Avail

Outputable ImportSpec # 
Instance details

Defined in RdrName

Outputable Parent # 
Instance details

Defined in RdrName

Methods

ppr :: Parent -> SDoc #

pprPrec :: Rational -> Parent -> SDoc #

Outputable GlobalRdrElt # 
Instance details

Defined in RdrName

Outputable LocalRdrEnv # 
Instance details

Defined in RdrName

Outputable RdrName # 
Instance details

Defined in RdrName

Methods

ppr :: RdrName -> SDoc #

pprPrec :: Rational -> RdrName -> SDoc #

Outputable AnnotationComment # 
Instance details

Defined in ApiAnnotation

Outputable AnnKeywordId # 
Instance details

Defined in ApiAnnotation

Outputable Token # 
Instance details

Defined in Lexer

Methods

ppr :: Token -> SDoc #

pprPrec :: Rational -> Token -> SDoc #

Outputable Annotation # 
Instance details

Defined in Annotations

Outputable ForallVisFlag # 
Instance details

Defined in Var

Outputable PatSyn # 
Instance details

Defined in PatSyn

Methods

ppr :: PatSyn -> SDoc #

pprPrec :: Rational -> PatSyn -> SDoc #

Outputable IfaceBndr # 
Instance details

Defined in IfaceType

Outputable IfaceCoercion # 
Instance details

Defined in IfaceType

Outputable IfaceTyLit # 
Instance details

Defined in IfaceType

Outputable IfaceTyCon # 
Instance details

Defined in IfaceType

Outputable IfaceType # 
Instance details

Defined in IfaceType

Outputable IfaceAppArgs # 
Instance details

Defined in IfaceType

Outputable NoExtCon # 
Instance details

Defined in GHC.Hs.Extension

Outputable NoExtField # 
Instance details

Defined in GHC.Hs.Extension

Outputable EqSpec # 
Instance details

Defined in DataCon

Methods

ppr :: EqSpec -> SDoc #

pprPrec :: Rational -> EqSpec -> SDoc #

Outputable DataCon # 
Instance details

Defined in DataCon

Methods

ppr :: DataCon -> SDoc #

pprPrec :: Rational -> DataCon -> SDoc #

Outputable ConLike # 
Instance details

Defined in ConLike

Methods

ppr :: ConLike -> SDoc #

pprPrec :: Rational -> ConLike -> SDoc #

Outputable CostCentreStack # 
Instance details

Defined in CostCentre

Outputable CostCentre # 
Instance details

Defined in CostCentre

Outputable CoAxiomRule # 
Instance details

Defined in CoAxiom

Outputable Role # 
Instance details

Defined in CoAxiom

Methods

ppr :: Role -> SDoc #

pprPrec :: Rational -> Role -> SDoc #

Outputable CoAxBranch # 
Instance details

Defined in CoAxiom

Outputable LiftingContext # 
Instance details

Defined in Coercion

Outputable Class # 
Instance details

Defined in Class

Methods

ppr :: Class -> SDoc #

pprPrec :: Rational -> Class -> SDoc #

Outputable InScopeSet # 
Instance details

Defined in VarEnv

Outputable TyConFlavour # 
Instance details

Defined in TyCon

Outputable PrimElemRep # 
Instance details

Defined in TyCon

Outputable PrimRep # 
Instance details

Defined in TyCon

Methods

ppr :: PrimRep -> SDoc #

pprPrec :: Rational -> PrimRep -> SDoc #

Outputable FamTyConFlav # 
Instance details

Defined in TyCon

Outputable AlgTyConFlav # 
Instance details

Defined in TyCon

Outputable TyConBndrVis # 
Instance details

Defined in TyCon

Outputable Scope # 
Instance details

Defined in HieTypes

Methods

ppr :: Scope -> SDoc #

pprPrec :: Rational -> Scope -> SDoc #

Outputable ContextInfo # 
Instance details

Defined in HieTypes

Outputable CoercionHole # 
Instance details

Defined in TyCoRep

Outputable TCvSubst # 
Instance details

Defined in TyCoSubst

Outputable Literal # 
Instance details

Defined in Literal

Methods

ppr :: Literal -> SDoc #

pprPrec :: Rational -> Literal -> SDoc #

Outputable LabelSet # 
Instance details

Defined in Hoopl.Label

Outputable Label # 
Instance details

Defined in Hoopl.Label

Methods

ppr :: Label -> SDoc #

pprPrec :: Rational -> Label -> SDoc #

Outputable OverLitVal # 
Instance details

Defined in GHC.Hs.Lit

Outputable EqRel # 
Instance details

Defined in Predicate

Methods

ppr :: EqRel -> SDoc #

pprPrec :: Rational -> EqRel -> SDoc #

Outputable StrictnessMark # 
Instance details

Defined in DataCon

Outputable SrcUnpackedness # 
Instance details

Defined in DataCon

Outputable SrcStrictness # 
Instance details

Defined in DataCon

Outputable HsImplBang # 
Instance details

Defined in DataCon

Outputable HsSrcBang # 
Instance details

Defined in DataCon

Outputable SlotTy # 
Instance details

Defined in RepType

Methods

ppr :: SlotTy -> SDoc #

pprPrec :: Rational -> SlotTy -> SDoc #

Outputable StrictSig # 
Instance details

Defined in Demand

Outputable DmdType # 
Instance details

Defined in Demand

Methods

ppr :: DmdType -> SDoc #

pprPrec :: Rational -> DmdType -> SDoc #

Outputable CPRResult # 
Instance details

Defined in Demand

Outputable TypeShape # 
Instance details

Defined in Demand

Outputable Count # 
Instance details

Defined in Demand

Methods

ppr :: Count -> SDoc #

pprPrec :: Rational -> Count -> SDoc #

Outputable UseDmd # 
Instance details

Defined in Demand

Methods

ppr :: UseDmd -> SDoc #

pprPrec :: Rational -> UseDmd -> SDoc #

Outputable StrDmd # 
Instance details

Defined in Demand

Methods

ppr :: StrDmd -> SDoc #

pprPrec :: Rational -> StrDmd -> SDoc #

Outputable UnfoldingGuidance # 
Instance details

Defined in PprCore

Outputable UnfoldingSource # 
Instance details

Defined in PprCore

Outputable Unfolding # 
Instance details

Defined in PprCore

Outputable CoreRule # 
Instance details

Defined in PprCore

Outputable AltCon # 
Instance details

Defined in CoreSyn

Methods

ppr :: AltCon -> SDoc #

pprPrec :: Rational -> AltCon -> SDoc #

Outputable LevityInfo # 
Instance details

Defined in IdInfo

Outputable TickBoxOp # 
Instance details

Defined in IdInfo

Outputable CafInfo # 
Instance details

Defined in IdInfo

Methods

ppr :: CafInfo -> SDoc #

pprPrec :: Rational -> CafInfo -> SDoc #

Outputable RecSelParent # 
Instance details

Defined in IdInfo

Outputable UnVarGraph # 
Instance details

Defined in UnVarGraph

Outputable UnVarSet # 
Instance details

Defined in UnVarGraph

Outputable ShowHowMuch # 
Instance details

Defined in IfaceSyn

Outputable IfaceJoinInfo # 
Instance details

Defined in IfaceSyn

Outputable IfaceConAlt # 
Instance details

Defined in IfaceSyn

Outputable IfaceExpr # 
Instance details

Defined in IfaceSyn

Outputable IfaceIdDetails # 
Instance details

Defined in IfaceSyn

Outputable IfaceUnfolding # 
Instance details

Defined in IfaceSyn

Outputable IfaceInfoItem # 
Instance details

Defined in IfaceSyn

Outputable IfaceIdInfo # 
Instance details

Defined in IfaceSyn

Outputable IfaceCompleteMatch # 
Instance details

Defined in IfaceSyn

Outputable IfaceAnnotation # 
Instance details

Defined in IfaceSyn

Outputable IfaceRule # 
Instance details

Defined in IfaceSyn

Outputable IfaceFamInst # 
Instance details

Defined in IfaceSyn

Outputable IfaceClsInst # 
Instance details

Defined in IfaceSyn

Outputable IfaceAT # 
Instance details

Defined in IfaceSyn

Methods

ppr :: IfaceAT -> SDoc #

pprPrec :: Rational -> IfaceAT -> SDoc #

Outputable IfaceClassOp # 
Instance details

Defined in IfaceSyn

Outputable IfaceTyConParent # 
Instance details

Defined in IfaceSyn

Outputable IfaceDecl # 
Instance details

Defined in IfaceSyn

Outputable PrimCall # 
Instance details

Defined in PrimOp

Outputable HsTyLit # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsTyLit -> SDoc #

pprPrec :: Rational -> HsTyLit -> SDoc #

Outputable NewHsTypeX # 
Instance details

Defined in GHC.Hs.Types

Outputable HsIPName # 
Instance details

Defined in GHC.Hs.Types

Outputable CgBreakInfo # 
Instance details

Defined in ByteCodeTypes

Outputable UnlinkedBCO # 
Instance details

Defined in ByteCodeTypes

Outputable CompiledByteCode # 
Instance details

Defined in ByteCodeTypes

Outputable SptEntry # 
Instance details

Defined in LinkerTypes

Outputable Unlinked # 
Instance details

Defined in LinkerTypes

Outputable Linkable # 
Instance details

Defined in LinkerTypes

Outputable CoreStats # 
Instance details

Defined in CoreStats

Outputable UpdateFlag # 
Instance details

Defined in StgSyn

Outputable AltType # 
Instance details

Defined in StgSyn

Methods

ppr :: AltType -> SDoc #

pprPrec :: Rational -> AltType -> SDoc #

Outputable NoExtFieldSilent # 
Instance details

Defined in StgSyn

Outputable StgArg # 
Instance details

Defined in StgSyn

Methods

ppr :: StgArg -> SDoc #

pprPrec :: Rational -> StgArg -> SDoc #

Outputable FloatLang # 
Instance details

Defined in StgLiftLams.LiftM

Outputable ForeignLabelSource # 
Instance details

Defined in CLabel

Outputable CLabel # 
Instance details

Defined in CLabel

Methods

ppr :: CLabel -> SDoc #

pprPrec :: Rational -> CLabel -> SDoc #

Outputable GlobalReg # 
Instance details

Defined in PprCmmExpr

Outputable LocalReg # 
Instance details

Defined in PprCmmExpr

Outputable CmmLit # 
Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmLit -> SDoc #

pprPrec :: Rational -> CmmLit -> SDoc #

Outputable Area # 
Instance details

Defined in PprCmmExpr

Methods

ppr :: Area -> SDoc #

pprPrec :: Rational -> Area -> SDoc #

Outputable CmmReg # 
Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmReg -> SDoc #

pprPrec :: Rational -> CmmReg -> SDoc #

Outputable CmmExpr # 
Instance details

Defined in PprCmmExpr

Methods

ppr :: CmmExpr -> SDoc #

pprPrec :: Rational -> CmmExpr -> SDoc #

Outputable CmmTickScope # 
Instance details

Defined in CmmNode

Outputable ForeignTarget # 
Instance details

Defined in PprCmm

Outputable CmmReturnInfo # 
Instance details

Defined in PprCmm

Outputable ForeignConvention # 
Instance details

Defined in PprCmm

Outputable Convention # 
Instance details

Defined in PprCmm

Outputable CmmStatics # 
Instance details

Defined in PprCmmDecl

Outputable CmmStatic # 
Instance details

Defined in PprCmmDecl

Outputable CmmInfoTable # 
Instance details

Defined in PprCmmDecl

Outputable CmmStackInfo # 
Instance details

Defined in PprCmm

Outputable CmmTopInfo # 
Instance details

Defined in PprCmm

Outputable CmmGraph # 
Instance details

Defined in PprCmm

Outputable LlvmCastOp # 
Instance details

Defined in Llvm.Types

Outputable LlvmCmpOp # 
Instance details

Defined in Llvm.Types

Outputable LlvmMachOp # 
Instance details

Defined in Llvm.Types

Outputable LlvmLinkageType # 
Instance details

Defined in Llvm.Types

Outputable LlvmCallConvention # 
Instance details

Defined in Llvm.Types

Outputable LlvmFuncAttr # 
Instance details

Defined in Llvm.Types

Outputable LlvmParamAttr # 
Instance details

Defined in Llvm.Types

Outputable LlvmFunctionDecl # 
Instance details

Defined in Llvm.Types

Outputable LlvmStatic # 
Instance details

Defined in Llvm.Types

Outputable LlvmLit # 
Instance details

Defined in Llvm.Types

Methods

ppr :: LlvmLit -> SDoc #

pprPrec :: Rational -> LlvmLit -> SDoc #

Outputable LlvmVar # 
Instance details

Defined in Llvm.Types

Methods

ppr :: LlvmVar -> SDoc #

pprPrec :: Rational -> LlvmVar -> SDoc #

Outputable LlvmType # 
Instance details

Defined in Llvm.Types

Outputable MetaExpr # 
Instance details

Defined in Llvm.MetaData

Outputable MetaId # 
Instance details

Defined in Llvm.MetaData

Methods

ppr :: MetaId -> SDoc #

pprPrec :: Rational -> MetaId -> SDoc #

Outputable UnwindExpr # 
Instance details

Defined in Debug

Outputable UnwindPoint # 
Instance details

Defined in Debug

Outputable DebugBlock # 
Instance details

Defined in Debug

Outputable Status # 
Instance details

Defined in CmmProcPoint

Methods

ppr :: Status -> SDoc #

pprPrec :: Rational -> Status -> SDoc #

Outputable ParamLocation # 
Instance details

Defined in CmmCallConv

Outputable EdgeInfo # 
Instance details

Defined in CFG

Outputable CfgEdge # 
Instance details

Defined in CFG

Methods

ppr :: CfgEdge -> SDoc #

pprPrec :: Rational -> CfgEdge -> SDoc #

Outputable EdgeWeight # 
Instance details

Defined in CFG

Outputable LiveInfo # 
Instance details

Defined in RegAlloc.Liveness

Outputable Loc # 
Instance details

Defined in RegAlloc.Linear.Base

Methods

ppr :: Loc -> SDoc #

pprPrec :: Rational -> Loc -> SDoc #

Outputable SpillStats # 
Instance details

Defined in RegAlloc.Graph.Spill

Outputable FamInstMatch # 
Instance details

Defined in FamInstEnv

Outputable FamInst # 
Instance details

Defined in FamInstEnv

Methods

ppr :: FamInst -> SDoc #

pprPrec :: Rational -> FamInst -> SDoc #

Outputable TcLevel # 
Instance details

Defined in TcType

Methods

ppr :: TcLevel -> SDoc #

pprPrec :: Rational -> TcLevel -> SDoc #

Outputable MetaInfo # 
Instance details

Defined in TcType

Outputable InferResult # 
Instance details

Defined in TcType

Outputable ExpType # 
Instance details

Defined in TcType

Methods

ppr :: ExpType -> SDoc #

pprPrec :: Rational -> ExpType -> SDoc #

Outputable ClsInst # 
Instance details

Defined in InstEnv

Methods

ppr :: ClsInst -> SDoc #

pprPrec :: Rational -> ClsInst -> SDoc #

Outputable CgLoc # 
Instance details

Defined in GHC.StgToCmm.Closure

Methods

ppr :: CgLoc -> SDoc #

pprPrec :: Rational -> CgLoc -> SDoc #

Outputable Sequel # 
Instance details

Defined in GHC.StgToCmm.Monad

Methods

ppr :: Sequel -> SDoc #

pprPrec :: Rational -> Sequel -> SDoc #

Outputable CgIdInfo # 
Instance details

Defined in GHC.StgToCmm.Monad

Outputable ArgRep # 
Instance details

Defined in GHC.StgToCmm.ArgRep

Methods

ppr :: ArgRep -> SDoc #

pprPrec :: Rational -> ArgRep -> SDoc #

Outputable BinderInfo # 
Instance details

Defined in StgLiftLams.Analysis

Outputable Skeleton # 
Instance details

Defined in StgLiftLams.Analysis

Outputable ModuleSRTInfo # 
Instance details

Defined in CmmBuildInfoTables

Outputable EvCallStack # 
Instance details

Defined in TcEvidence

Outputable EvTypeable # 
Instance details

Defined in TcEvidence

Outputable EvTerm # 
Instance details

Defined in TcEvidence

Methods

ppr :: EvTerm -> SDoc #

pprPrec :: Rational -> EvTerm -> SDoc #

Outputable EvBind # 
Instance details

Defined in TcEvidence

Methods

ppr :: EvBind -> SDoc #

pprPrec :: Rational -> EvBind -> SDoc #

Outputable EvBindMap # 
Instance details

Defined in TcEvidence

Outputable EvBindsVar # 
Instance details

Defined in TcEvidence

Outputable TcEvBinds # 
Instance details

Defined in TcEvidence

Outputable HsWrapper # 
Instance details

Defined in TcEvidence

Outputable TcSpecPrag # 
Instance details

Defined in GHC.Hs.Binds

Outputable DocDecl # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: DocDecl -> SDoc #

pprPrec :: Rational -> DocDecl -> SDoc #

Outputable ForeignExport # 
Instance details

Defined in GHC.Hs.Decls

Outputable ForeignImport # 
Instance details

Defined in GHC.Hs.Decls

Outputable NewOrData # 
Instance details

Defined in GHC.Hs.Decls

Outputable PendingTcSplice # 
Instance details

Defined in GHC.Hs.Expr

Outputable PendingRnSplice # 
Instance details

Defined in GHC.Hs.Expr

Outputable SpliceDecoration # 
Instance details

Defined in GHC.Hs.Expr

Outputable UnboundVar # 
Instance details

Defined in GHC.Hs.Expr

Outputable CtOrigin # 
Instance details

Defined in TcOrigin

Outputable SkolemInfo # 
Instance details

Defined in TcOrigin

Outputable TyEl # 
Instance details

Defined in RdrHsSyn

Methods

ppr :: TyEl -> SDoc #

pprPrec :: Rational -> TyEl -> SDoc #

Outputable CompleteMatch # 
Instance details

Defined in HscTypes

Outputable IfaceTrustInfo # 
Instance details

Defined in HscTypes

Outputable ModSummary # 
Instance details

Defined in HscTypes

Outputable FixItem # 
Instance details

Defined in HscTypes

Methods

ppr :: FixItem -> SDoc #

pprPrec :: Rational -> FixItem -> SDoc #

Outputable Warnings # 
Instance details

Defined in LoadIface

Outputable InteractiveImport # 
Instance details

Defined in HscTypes

Outputable TargetId # 
Instance details

Defined in HscTypes

Outputable Target # 
Instance details

Defined in HscTypes

Methods

ppr :: Target -> SDoc #

pprPrec :: Rational -> Target -> SDoc #

Outputable PhasePlus # 
Instance details

Defined in PipelineMonad

Outputable Tick # 
Instance details

Defined in CoreMonad

Methods

ppr :: Tick -> SDoc #

pprPrec :: Rational -> Tick -> SDoc #

Outputable FloatOutSwitches # 
Instance details

Defined in CoreMonad

Outputable SimplMode # 
Instance details

Defined in CoreMonad

Outputable HsComponentId # 
Instance details

Defined in BkpSyn

Outputable FloatBind # 
Instance details

Defined in MkCore

Outputable LetFloats # 
Instance details

Defined in SimplEnv

Outputable SimplSR # 
Instance details

Defined in SimplEnv

Methods

ppr :: SimplSR -> SDoc #

pprPrec :: Rational -> SimplSR -> SDoc #

Outputable SimplFloats # 
Instance details

Defined in SimplEnv

Outputable TyState #

Not user-facing.

Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: TyState -> SDoc #

pprPrec :: Rational -> TyState -> SDoc #

Outputable VarInfo #

Not user-facing.

Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: VarInfo -> SDoc #

pprPrec :: Rational -> VarInfo -> SDoc #

Outputable TmState #

Not user-facing.

Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: TmState -> SDoc #

pprPrec :: Rational -> TmState -> SDoc #

Outputable PossibleMatches # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Outputable PmAltCon # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Outputable PmEquality # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Outputable PmLitValue # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Outputable PmLit # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: PmLit -> SDoc #

pprPrec :: Rational -> PmLit -> SDoc #

Outputable Subst # 
Instance details

Defined in CoreSubst

Methods

ppr :: Subst -> SDoc #

pprPrec :: Rational -> Subst -> SDoc #

Outputable FloatSpec # 
Instance details

Defined in SetLevels

Outputable Level # 
Instance details

Defined in SetLevels

Methods

ppr :: Level -> SDoc #

pprPrec :: Rational -> Level -> SDoc #

Outputable CallCtxt # 
Instance details

Defined in CoreUnfold

Outputable ArgSummary # 
Instance details

Defined in CoreUnfold

Outputable ArgSpec # 
Instance details

Defined in SimplUtils

Methods

ppr :: ArgSpec -> SDoc #

pprPrec :: Rational -> ArgSpec -> SDoc #

Outputable DupFlag # 
Instance details

Defined in SimplUtils

Methods

ppr :: DupFlag -> SDoc #

pprPrec :: Rational -> DupFlag -> SDoc #

Outputable SimplCont # 
Instance details

Defined in SimplUtils

Outputable SubGoalDepth # 
Instance details

Defined in Constraint

Outputable CtFlavour # 
Instance details

Defined in Constraint

Outputable CtEvidence # 
Instance details

Defined in Constraint

Outputable TcEvDest # 
Instance details

Defined in Constraint

Outputable ImplicStatus # 
Instance details

Defined in Constraint

Outputable Implication # 
Instance details

Defined in Constraint

Outputable WantedConstraints # 
Instance details

Defined in Constraint

Outputable Hole # 
Instance details

Defined in Constraint

Methods

ppr :: Hole -> SDoc #

pprPrec :: Rational -> Hole -> SDoc #

Outputable QCInst # 
Instance details

Defined in Constraint

Methods

ppr :: QCInst -> SDoc #

pprPrec :: Rational -> QCInst -> SDoc #

Outputable Ct # 
Instance details

Defined in Constraint

Methods

ppr :: Ct -> SDoc #

pprPrec :: Rational -> Ct -> SDoc #

Outputable TcPatSynInfo # 
Instance details

Defined in TcRnTypes

Outputable TcIdSigInst # 
Instance details

Defined in TcRnTypes

Outputable TcIdSigInfo # 
Instance details

Defined in TcRnTypes

Outputable TcSigInfo # 
Instance details

Defined in TcRnTypes

Outputable WhereFrom # 
Instance details

Defined in TcRnTypes

Outputable IdBindingInfo # 
Instance details

Defined in TcRnTypes

Outputable PromotionErr # 
Instance details

Defined in TcRnTypes

Outputable TcTyThing # 
Instance details

Defined in TcRnTypes

Outputable ThStage # 
Instance details

Defined in TcRnTypes

Methods

ppr :: ThStage -> SDoc #

pprPrec :: Rational -> ThStage -> SDoc #

Outputable TcBinder # 
Instance details

Defined in TcRnTypes

Outputable HieName # 
Instance details

Defined in HieBin

Methods

ppr :: HieName -> SDoc #

pprPrec :: Rational -> HieName -> SDoc #

Outputable CandidatesQTvs # 
Instance details

Defined in TcMType

Outputable HoleFit # 
Instance details

Defined in TcHoleFitTypes

Methods

ppr :: HoleFit -> SDoc #

pprPrec :: Rational -> HoleFit -> SDoc #

Outputable HoleFitCandidate # 
Instance details

Defined in TcHoleFitTypes

Outputable TypedHole # 
Instance details

Defined in TcHoleFitTypes

Outputable PluginRecompile # 
Instance details

Defined in Plugins

Outputable HsSigCtxt # 
Instance details

Defined in RnEnv

Outputable ChildLookupResult # 
Instance details

Defined in RnEnv

Outputable BCInstr # 
Instance details

Defined in ByteCodeInstr

Methods

ppr :: BCInstr -> SDoc #

pprPrec :: Rational -> BCInstr -> SDoc #

Outputable EquationInfo # 
Instance details

Defined in DsMonad

Outputable DsMatchContext # 
Instance details

Defined in DsMonad

Outputable ZonkEnv # 
Instance details

Defined in TcHsSyn

Methods

ppr :: ZonkEnv -> SDoc #

pprPrec :: Rational -> ZonkEnv -> SDoc #

Outputable Term # 
Instance details

Defined in RtClosureInspect

Methods

ppr :: Term -> SDoc #

pprPrec :: Rational -> Term -> SDoc #

Outputable InstanceWhat # 
Instance details

Defined in ClsInst

Outputable ClsInstResult # 
Instance details

Defined in ClsInst

Outputable InertCans # 
Instance details

Defined in TcSMonad

Outputable InertSet # 
Instance details

Defined in TcSMonad

Outputable WorkList # 
Instance details

Defined in TcSMonad

Outputable FlattenMode # 
Instance details

Defined in TcFlatten

Outputable InferMode # 
Instance details

Defined in TcSimplify

Outputable Rank # 
Instance details

Defined in TcValidity

Methods

ppr :: Rank -> SDoc #

pprPrec :: Rational -> Rank -> SDoc #

Outputable ThetaOrigin # 
Instance details

Defined in TcDerivUtils

Outputable PredOrigin # 
Instance details

Defined in TcDerivUtils

Outputable DerivContext # 
Instance details

Defined in TcDerivUtils

Outputable DerivSpecMechanism # 
Instance details

Defined in TcDerivUtils

Outputable DerivInstTys # 
Instance details

Defined in TcDerivUtils

Outputable DerivEnv # 
Instance details

Defined in TcDerivUtils

Outputable SAKS_or_CUSK # 
Instance details

Defined in TcHsType

Outputable LetBndrSpec # 
Instance details

Defined in TcPat

Outputable TmCt # 
Instance details

Defined in GHC.HsToCore.PmCheck.Oracle

Methods

ppr :: TmCt -> SDoc #

pprPrec :: Rational -> TmCt -> SDoc #

Outputable JumpDest # 
Instance details

Defined in X86.Instr

Outputable Instr # 
Instance details

Defined in X86.Ppr

Methods

ppr :: Instr -> SDoc #

pprPrec :: Rational -> Instr -> SDoc #

Outputable Instr # 
Instance details

Defined in SPARC.Ppr

Methods

ppr :: Instr -> SDoc #

pprPrec :: Rational -> Instr -> SDoc #

Outputable JumpDest # 
Instance details

Defined in SPARC.ShortcutJump

Outputable Instr # 
Instance details

Defined in PPC.Ppr

Methods

ppr :: Instr -> SDoc #

pprPrec :: Rational -> Instr -> SDoc #

Outputable JumpDest # 
Instance details

Defined in PPC.RegInfo

Outputable DwarfFrameBlock # 
Instance details

Defined in Dwarf.Types

Outputable GetDocsFailure # 
Instance details

Defined in InteractiveEval

Outputable CoreModule # 
Instance details

Defined in GHC

Outputable a => Outputable [a] # 
Instance details

Defined in Outputable

Methods

ppr :: [a] -> SDoc #

pprPrec :: Rational -> [a] -> SDoc #

Outputable a => Outputable (Maybe a) # 
Instance details

Defined in Outputable

Methods

ppr :: Maybe a -> SDoc #

pprPrec :: Rational -> Maybe a -> SDoc #

Outputable elt => Outputable (IntMap elt) # 
Instance details

Defined in Outputable

Methods

ppr :: IntMap elt -> SDoc #

pprPrec :: Rational -> IntMap elt -> SDoc #

Outputable a => Outputable (SCC a) # 
Instance details

Defined in Outputable

Methods

ppr :: SCC a -> SDoc #

pprPrec :: Rational -> SCC a -> SDoc #

Outputable a => Outputable (Set a) # 
Instance details

Defined in Outputable

Methods

ppr :: Set a -> SDoc #

pprPrec :: Rational -> Set a -> SDoc #

Outputable a => Outputable (Pair a) # 
Instance details

Defined in Pair

Methods

ppr :: Pair a -> SDoc #

pprPrec :: Rational -> Pair a -> SDoc #

Outputable a => Outputable (OrdList a) # 
Instance details

Defined in OrdList

Methods

ppr :: OrdList a -> SDoc #

pprPrec :: Rational -> OrdList a -> SDoc #

Outputable (DefMethSpec ty) # 
Instance details

Defined in BasicTypes

Methods

ppr :: DefMethSpec ty -> SDoc #

pprPrec :: Rational -> DefMethSpec ty -> SDoc #

Outputable a => Outputable (UniqFM a) # 
Instance details

Defined in UniqFM

Methods

ppr :: UniqFM a -> SDoc #

pprPrec :: Rational -> UniqFM a -> SDoc #

Outputable a => Outputable (UniqSet a) # 
Instance details

Defined in UniqSet

Methods

ppr :: UniqSet a -> SDoc #

pprPrec :: Rational -> UniqSet a -> SDoc #

Outputable a => Outputable (UniqDFM a) # 
Instance details

Defined in UniqDFM

Methods

ppr :: UniqDFM a -> SDoc #

pprPrec :: Rational -> UniqDFM a -> SDoc #

Outputable a => Outputable (UniqDSet a) # 
Instance details

Defined in UniqDSet

Methods

ppr :: UniqDSet a -> SDoc #

pprPrec :: Rational -> UniqDSet a -> SDoc #

OutputableBndr a => Outputable (BooleanFormula a) # 
Instance details

Defined in BooleanFormula

Outputable node => Outputable (Graph node) # 
Instance details

Defined in Digraph

Methods

ppr :: Graph node -> SDoc #

pprPrec :: Rational -> Graph node -> SDoc #

Outputable a => Outputable (Bag a) # 
Instance details

Defined in Bag

Methods

ppr :: Bag a -> SDoc #

pprPrec :: Rational -> Bag a -> SDoc #

Outputable a => Outputable (OccEnv a) # 
Instance details

Defined in OccName

Methods

ppr :: OccEnv a -> SDoc #

pprPrec :: Rational -> OccEnv a -> SDoc #

Outputable a => Outputable (FieldLbl a) # 
Instance details

Defined in FieldLabel

Methods

ppr :: FieldLbl a -> SDoc #

pprPrec :: Rational -> FieldLbl a -> SDoc #

Outputable name => Outputable (AnnTarget name) # 
Instance details

Defined in Annotations

Methods

ppr :: AnnTarget name -> SDoc #

pprPrec :: Rational -> AnnTarget name -> SDoc #

OutputableBndrId p => Outputable (Pat (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Pat

Methods

ppr :: Pat (GhcPass p) -> SDoc #

pprPrec :: Rational -> Pat (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (IE (GhcPass p)) # 
Instance details

Defined in GHC.Hs.ImpExp

Methods

ppr :: IE (GhcPass p) -> SDoc #

pprPrec :: Rational -> IE (GhcPass p) -> SDoc #

OutputableBndr name => Outputable (IEWrappedName name) # 
Instance details

Defined in GHC.Hs.ImpExp

Methods

ppr :: IEWrappedName name -> SDoc #

pprPrec :: Rational -> IEWrappedName name -> SDoc #

OutputableBndrId p => Outputable (ImportDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.ImpExp

OutputableBndrId p => Outputable (SyntaxExpr (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId p => Outputable (HsSplice (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: HsSplice (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsSplice (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsCmd (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: HsCmd (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsCmd (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsExpr (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: HsExpr (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsExpr (GhcPass p) -> SDoc #

Outputable (CoAxiom br) # 
Instance details

Defined in CoAxiom

Methods

ppr :: CoAxiom br -> SDoc #

pprPrec :: Rational -> CoAxiom br -> SDoc #

Outputable a => Outputable (IdentifierDetails a) # 
Instance details

Defined in HieTypes

Outputable a => Outputable (LabelMap a) # 
Instance details

Defined in Hoopl.Label

Methods

ppr :: LabelMap a -> SDoc #

pprPrec :: Rational -> LabelMap a -> SDoc #

OutputableBndrId p => Outputable (HsOverLit (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Lit

Outputable (HsLit (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Lit

Methods

ppr :: HsLit (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsLit (GhcPass p) -> SDoc #

Outputable a => Outputable (UnifyResultM a) # 
Instance details

Defined in Unify

Outputable b => Outputable (TaggedBndr b) # 
Instance details

Defined in CoreSyn

Methods

ppr :: TaggedBndr b -> SDoc #

pprPrec :: Rational -> TaggedBndr b -> SDoc #

Outputable id => Outputable (Tickish id) # 
Instance details

Defined in PprCore

Methods

ppr :: Tickish id -> SDoc #

pprPrec :: Rational -> Tickish id -> SDoc #

OutputableBndr b => Outputable (Bind b) # 
Instance details

Defined in PprCore

Methods

ppr :: Bind b -> SDoc #

pprPrec :: Rational -> Bind b -> SDoc #

OutputableBndr b => Outputable (Expr b) # 
Instance details

Defined in PprCore

Methods

ppr :: Expr b -> SDoc #

pprPrec :: Rational -> Expr b -> SDoc #

Outputable (AmbiguousFieldOcc (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

Outputable (FieldOcc pass) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: FieldOcc pass -> SDoc #

pprPrec :: Rational -> FieldOcc pass -> SDoc #

OutputableBndrId p => Outputable (ConDeclField (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

OutputableBndrId p => Outputable (HsType (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsType (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsType (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsTyVarBndr (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

OutputableBndrId p => Outputable (LHsQTyVars (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

OutputablePass pass => Outputable (GenStgRhs pass) # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgRhs pass -> SDoc #

pprPrec :: Rational -> GenStgRhs pass -> SDoc #

OutputablePass pass => Outputable (GenStgExpr pass) # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgExpr pass -> SDoc #

pprPrec :: Rational -> GenStgExpr pass -> SDoc #

OutputablePass pass => Outputable (GenStgBinding pass) # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgBinding pass -> SDoc #

pprPrec :: Rational -> GenStgBinding pass -> SDoc #

OutputablePass pass => Outputable (GenStgTopBinding pass) # 
Instance details

Defined in StgSyn

Outputable instr => Outputable (ListGraph instr) # 
Instance details

Defined in Cmm

Methods

ppr :: ListGraph instr -> SDoc #

pprPrec :: Rational -> ListGraph instr -> SDoc #

Outputable instr => Outputable (GenBasicBlock instr) # 
Instance details

Defined in Cmm

Methods

ppr :: GenBasicBlock instr -> SDoc #

pprPrec :: Rational -> GenBasicBlock instr -> SDoc #

Outputable instr => Outputable (LiveInstr instr) # 
Instance details

Defined in RegAlloc.Liveness

Methods

ppr :: LiveInstr instr -> SDoc #

pprPrec :: Rational -> LiveInstr instr -> SDoc #

Outputable instr => Outputable (InstrSR instr) # 
Instance details

Defined in RegAlloc.Liveness

Methods

ppr :: InstrSR instr -> SDoc #

pprPrec :: Rational -> InstrSR instr -> SDoc #

Outputable a => Outputable (CoreMap a) # 
Instance details

Defined in CoreMap

Methods

ppr :: CoreMap a -> SDoc #

pprPrec :: Rational -> CoreMap a -> SDoc #

Outputable a => Outputable (NonVoid a) # 
Instance details

Defined in GHC.StgToCmm.Closure

Methods

ppr :: NonVoid a -> SDoc #

pprPrec :: Rational -> NonVoid a -> SDoc #

Outputable (FunDepEqn a) # 
Instance details

Defined in FunDeps

Methods

ppr :: FunDepEqn a -> SDoc #

pprPrec :: Rational -> FunDepEqn a -> SDoc #

Outputable a => Outputable (RecordPatSynField a) # 
Instance details

Defined in GHC.Hs.Binds

OutputableBndrId p => Outputable (FixitySig (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Binds

OutputableBndrId p => Outputable (Sig (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Binds

Methods

ppr :: Sig (GhcPass p) -> SDoc #

pprPrec :: Rational -> Sig (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (IPBind (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Binds

Methods

ppr :: IPBind (GhcPass p) -> SDoc #

pprPrec :: Rational -> IPBind (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsIPBinds (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Binds

OutputableBndrId p => Outputable (ABExport (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Binds

Methods

ppr :: ABExport (GhcPass p) -> SDoc #

pprPrec :: Rational -> ABExport (GhcPass p) -> SDoc #

OutputableBndr (IdP (GhcPass p)) => Outputable (RoleAnnotDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (AnnDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: AnnDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> AnnDecl (GhcPass p) -> SDoc #

OutputableBndr (IdP (GhcPass p)) => Outputable (WarnDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: WarnDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> WarnDecl (GhcPass p) -> SDoc #

OutputableBndr (IdP (GhcPass p)) => Outputable (WarnDecls (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (RuleBndr (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: RuleBndr (GhcPass p) -> SDoc #

pprPrec :: Rational -> RuleBndr (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (RuleDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: RuleDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> RuleDecl (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (RuleDecls (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (ForeignDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (DefaultDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (DerivStrategy (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (DerivDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (InstDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: InstDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> InstDecl (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (ClsInstDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (DataFamInstDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (TyFamInstDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (ConDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: ConDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> ConDecl (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (StandaloneKindSig (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (HsDerivingClause (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (HsDataDefn (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Outputable (FamilyInfo pass) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: FamilyInfo pass -> SDoc #

pprPrec :: Rational -> FamilyInfo pass -> SDoc #

OutputableBndrId p => Outputable (FamilyDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (TyClGroup (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (TyClDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: TyClDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> TyClDecl (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (SpliceDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

OutputableBndrId p => Outputable (HsGroup (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: HsGroup (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsGroup (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsDecl (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Decls

Methods

ppr :: HsDecl (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsDecl (GhcPass p) -> SDoc #

(Outputable (GhcPass p), Outputable (NameOrRdrName (GhcPass p))) => Outputable (HsStmtContext (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndr id => Outputable (HsMatchContext id) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId p => Outputable (ArithSeqInfo (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId p => Outputable (HsBracket (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId p => Outputable (HsSplicedThing (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId idL => Outputable (ApplicativeArg (GhcPass idL)) # 
Instance details

Defined in GHC.Hs.Expr

OutputableBndrId p => Outputable (HsCmdTop (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: HsCmdTop (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsCmdTop (GhcPass p) -> SDoc #

OutputableBndrId p => Outputable (HsModule (GhcPass p)) # 
Instance details

Defined in GHC.Hs

Methods

ppr :: HsModule (GhcPass p) -> SDoc #

pprPrec :: Rational -> HsModule (GhcPass p) -> SDoc #

Outputable (PatBuilder GhcPs) # 
Instance details

Defined in RdrHsSyn

Outputable a => Outputable (SharedDIdEnv a) # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Outputable a => Outputable (Shared a) # 
Instance details

Defined in GHC.HsToCore.PmCheck.Types

Methods

ppr :: Shared a -> SDoc #

pprPrec :: Rational -> Shared a -> SDoc #

OutputableBndrId a => Outputable (InstInfo (GhcPass a)) # 
Instance details

Defined in TcEnv

Methods

ppr :: InstInfo (GhcPass a) -> SDoc #

pprPrec :: Rational -> InstInfo (GhcPass a) -> SDoc #

Outputable a => Outputable (ProtoBCO a) # 
Instance details

Defined in ByteCodeInstr

Methods

ppr :: ProtoBCO a -> SDoc #

pprPrec :: Rational -> ProtoBCO a -> SDoc #

Outputable a => Outputable (StopOrContinue a) # 
Instance details

Defined in TcCanonical

Outputable theta => Outputable (DerivSpec theta) # 
Instance details

Defined in TcDerivUtils

Methods

ppr :: DerivSpec theta -> SDoc #

pprPrec :: Rational -> DerivSpec theta -> SDoc #

(Outputable a, Outputable b) => Outputable (Either a b) # 
Instance details

Defined in Outputable

Methods

ppr :: Either a b -> SDoc #

pprPrec :: Rational -> Either a b -> SDoc #

(Outputable a, Outputable b) => Outputable (a, b) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b) -> SDoc #

pprPrec :: Rational -> (a, b) -> SDoc #

(Outputable key, Outputable elt) => Outputable (Map key elt) # 
Instance details

Defined in Outputable

Methods

ppr :: Map key elt -> SDoc #

pprPrec :: Rational -> Map key elt -> SDoc #

(Outputable l, Outputable e) => Outputable (GenLocated l e) # 
Instance details

Defined in SrcLoc

Methods

ppr :: GenLocated l e -> SDoc #

pprPrec :: Rational -> GenLocated l e -> SDoc #

(Outputable k, Outputable a) => Outputable (UniqMap k a) # 
Instance details

Defined in UniqMap

Methods

ppr :: UniqMap k a -> SDoc #

pprPrec :: Rational -> UniqMap k a -> SDoc #

(Outputable a, Outputable b) => Outputable (Node a b) # 
Instance details

Defined in Digraph

Methods

ppr :: Node a b -> SDoc #

pprPrec :: Rational -> Node a b -> SDoc #

Outputable tv => Outputable (VarBndr tv ArgFlag) # 
Instance details

Defined in Var

Outputable tv => Outputable (VarBndr tv TyConBndrVis) # 
Instance details

Defined in TyCon

(Outputable a, Outputable (m a)) => Outputable (GenMap m a) # 
Instance details

Defined in TrieMap

Methods

ppr :: GenMap m a -> SDoc #

pprPrec :: Rational -> GenMap m a -> SDoc #

(TrieMap m, Outputable a) => Outputable (ListMap m a) # 
Instance details

Defined in TrieMap

Methods

ppr :: ListMap m a -> SDoc #

pprPrec :: Rational -> ListMap m a -> SDoc #

(Outputable tm, Outputable ty) => Outputable (HsArg tm ty) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsArg tm ty -> SDoc #

pprPrec :: Rational -> HsArg tm ty -> SDoc #

(Outputable arg, Outputable rec) => Outputable (HsConDetails arg rec) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsConDetails arg rec -> SDoc #

pprPrec :: Rational -> HsConDetails arg rec -> SDoc #

Outputable thing => Outputable (HsWildCardBndrs (GhcPass p) thing) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsWildCardBndrs (GhcPass p) thing -> SDoc #

pprPrec :: Rational -> HsWildCardBndrs (GhcPass p) thing -> SDoc #

Outputable thing => Outputable (HsImplicitBndrs (GhcPass p) thing) # 
Instance details

Defined in GHC.Hs.Types

Methods

ppr :: HsImplicitBndrs (GhcPass p) thing -> SDoc #

pprPrec :: Rational -> HsImplicitBndrs (GhcPass p) thing -> SDoc #

Outputable (CmmNode e x) # 
Instance details

Defined in PprCmm

Methods

ppr :: CmmNode e x -> SDoc #

pprPrec :: Rational -> CmmNode e x -> SDoc #

(OutputableBndrId l, OutputableBndrId r, Outputable (XXPatSynBind (GhcPass l) (GhcPass r))) => Outputable (PatSynBind (GhcPass l) (GhcPass r)) # 
Instance details

Defined in GHC.Hs.Binds

(OutputableBndrId pl, OutputableBndrId pr) => Outputable (HsBindLR (GhcPass pl) (GhcPass pr)) # 
Instance details

Defined in GHC.Hs.Binds

Methods

ppr :: HsBindLR (GhcPass pl) (GhcPass pr) -> SDoc #

pprPrec :: Rational -> HsBindLR (GhcPass pl) (GhcPass pr) -> SDoc #

(OutputableBndrId pl, OutputableBndrId pr) => Outputable (HsValBindsLR (GhcPass pl) (GhcPass pr)) # 
Instance details

Defined in GHC.Hs.Binds

(OutputableBndrId pl, OutputableBndrId pr) => Outputable (HsLocalBindsLR (GhcPass pl) (GhcPass pr)) # 
Instance details

Defined in GHC.Hs.Binds

(Outputable p, Outputable arg) => Outputable (HsRecField' p arg) # 
Instance details

Defined in GHC.Hs.Pat

Methods

ppr :: HsRecField' p arg -> SDoc #

pprPrec :: Rational -> HsRecField' p arg -> SDoc #

Outputable arg => Outputable (HsRecFields p arg) # 
Instance details

Defined in GHC.Hs.Pat

Methods

ppr :: HsRecFields p arg -> SDoc #

pprPrec :: Rational -> HsRecFields p arg -> SDoc #

(Outputable (StmtLR idL idL (LHsExpr idL)), Outputable (XXParStmtBlock idL idR)) => Outputable (ParStmtBlock idL idR) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: ParStmtBlock idL idR -> SDoc #

pprPrec :: Rational -> ParStmtBlock idL idR -> SDoc #

(OutputableBndrId pr, Outputable body) => Outputable (Match (GhcPass pr) body) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: Match (GhcPass pr) body -> SDoc #

pprPrec :: Rational -> Match (GhcPass pr) body -> SDoc #

(Outputable statics, Outputable instr) => Outputable (RegAllocStats statics instr) # 
Instance details

Defined in RegAlloc.Graph.Stats

Methods

ppr :: RegAllocStats statics instr -> SDoc #

pprPrec :: Rational -> RegAllocStats statics instr -> SDoc #

(Outputable a, Outputable b, Outputable c) => Outputable (a, b, c) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b, c) -> SDoc #

pprPrec :: Rational -> (a, b, c) -> SDoc #

Outputable (Block CmmNode C C) # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode C O) # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode O C) # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode O O) # 
Instance details

Defined in PprCmm

Outputable (Graph CmmNode e x) # 
Instance details

Defined in PprCmm

Methods

ppr :: Graph CmmNode e x -> SDoc #

pprPrec :: Rational -> Graph CmmNode e x -> SDoc #

(Outputable d, Outputable info, Outputable i) => Outputable (GenCmmDecl d info i) # 
Instance details

Defined in PprCmmDecl

Methods

ppr :: GenCmmDecl d info i -> SDoc #

pprPrec :: Rational -> GenCmmDecl d info i -> SDoc #

(OutputableBndrId pl, OutputableBndrId pr, Outputable body) => Outputable (StmtLR (GhcPass pl) (GhcPass pr) body) # 
Instance details

Defined in GHC.Hs.Expr

Methods

ppr :: StmtLR (GhcPass pl) (GhcPass pr) body -> SDoc #

pprPrec :: Rational -> StmtLR (GhcPass pl) (GhcPass pr) body -> SDoc #

(Outputable a, Outputable b, Outputable c, Outputable d) => Outputable (a, b, c, d) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b, c, d) -> SDoc #

pprPrec :: Rational -> (a, b, c, d) -> SDoc #

(Outputable a, Outputable b, Outputable c, Outputable d, Outputable e) => Outputable (a, b, c, d, e) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b, c, d, e) -> SDoc #

pprPrec :: Rational -> (a, b, c, d, e) -> SDoc #

(Outputable a, Outputable b, Outputable c, Outputable d, Outputable e, Outputable f) => Outputable (a, b, c, d, e, f) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b, c, d, e, f) -> SDoc #

pprPrec :: Rational -> (a, b, c, d, e, f) -> SDoc #

(Outputable a, Outputable b, Outputable c, Outputable d, Outputable e, Outputable f, Outputable g) => Outputable (a, b, c, d, e, f, g) # 
Instance details

Defined in Outputable

Methods

ppr :: (a, b, c, d, e, f, g) -> SDoc #

pprPrec :: Rational -> (a, b, c, d, e, f, g) -> SDoc #

class Outputable a => OutputableBndr a where #

When we print a binder, we often want to print its type too. The OutputableBndr class encapsulates this idea.

Minimal complete definition

pprPrefixOcc, pprInfixOcc

Instances

Instances details
OutputableBndr Name # 
Instance details

Defined in Name

OutputableBndr OccName # 
Instance details

Defined in OccName

OutputableBndr Var # 
Instance details

Defined in PprCore

OutputableBndr RdrName # 
Instance details

Defined in RdrName

OutputableBndr PatSyn # 
Instance details

Defined in PatSyn

OutputableBndr DataCon # 
Instance details

Defined in DataCon

OutputableBndr ConLike # 
Instance details

Defined in ConLike

OutputableBndr HsIPName # 
Instance details

Defined in GHC.Hs.Types

OutputableBndr BinderInfo # 
Instance details

Defined in StgLiftLams.Analysis

OutputableBndr name => OutputableBndr (IEWrappedName name) # 
Instance details

Defined in GHC.Hs.ImpExp

Outputable b => OutputableBndr (TaggedBndr b) # 
Instance details

Defined in PprCore

OutputableBndr (AmbiguousFieldOcc (GhcPass p)) # 
Instance details

Defined in GHC.Hs.Types

Pretty printing combinators

data SDoc #

Represents a pretty-printable document.

To display an SDoc, use printSDoc, printSDocLn, bufLeftRenderSDoc, or renderWithStyle. Avoid calling runSDoc directly as it breaks the abstraction layer.

Instances

Instances details
IsString SDoc # 
Instance details

Defined in Outputable

Outputable SDoc # 
Instance details

Defined in Outputable

Methods

ppr :: SDoc -> SDoc #

pprPrec :: Rational -> SDoc -> SDoc #

runSDoc :: SDoc -> SDocContext -> Doc #

initSDocContext :: DynFlags -> PprStyle -> SDocContext #

interppSP :: Outputable a => [a] -> SDoc #

Returns the separated concatenation of the pretty printed things.

interpp'SP :: Outputable a => [a] -> SDoc #

Returns the comma-separated concatenation of the pretty printed things.

pprQuotedList :: Outputable a => [a] -> SDoc #

Returns the comma-separated concatenation of the quoted pretty printed things.

[x,y,z]  ==>  `x', `y', `z'

pprWithCommas #

Arguments

:: (a -> SDoc)

The pretty printing function to use

-> [a]

The things to be pretty printed

-> SDoc

SDoc where the things have been pretty printed, comma-separated and finally packed into a paragraph.

pprWithBars #

Arguments

:: (a -> SDoc)

The pretty printing function to use

-> [a]

The things to be pretty printed

-> SDoc

SDoc where the things have been pretty printed, bar-separated and finally packed into a paragraph.

nest :: Int -> SDoc -> SDoc #

Indent SDoc some specified amount

char :: Char -> SDoc #

int :: Int -> SDoc #

doublePrec :: Int -> Double -> SDoc #

doublePrec p n shows a floating point number n with p digits of precision after the decimal point.

cparen :: Bool -> SDoc -> SDoc #

(<>) :: SDoc -> SDoc -> SDoc #

Join two SDoc together horizontally without a gap

(<+>) :: SDoc -> SDoc -> SDoc #

Join two SDoc together horizontally with a gap between them

hcat :: [SDoc] -> SDoc #

Concatenate SDoc horizontally

hsep :: [SDoc] -> SDoc #

Concatenate SDoc horizontally with a space between each one

($$) :: SDoc -> SDoc -> SDoc #

Join two SDoc together vertically; if there is no vertical overlap it "dovetails" the two onto one line

($+$) :: SDoc -> SDoc -> SDoc #

Join two SDoc together vertically

vcat :: [SDoc] -> SDoc #

Concatenate SDoc vertically with dovetailing

sep :: [SDoc] -> SDoc #

Separate: is either like hsep or like vcat, depending on what fits

cat :: [SDoc] -> SDoc #

Catenate: is either like hcat or like vcat, depending on what fits

fsep :: [SDoc] -> SDoc #

A paragraph-fill combinator. It's much like sep, only it keeps fitting things on one line until it can't fit any more.

fcat :: [SDoc] -> SDoc #

This behaves like fsep, but it uses <> for horizontal conposition rather than <+>

hang #

Arguments

:: SDoc

The header

-> Int

Amount to indent the hung body

-> SDoc

The hung body, indented and placed below the header

-> SDoc 

hangNotEmpty :: SDoc -> Int -> SDoc -> SDoc #

This behaves like hang, but does not indent the second document when the header is empty.

punctuate #

Arguments

:: SDoc

The punctuation

-> [SDoc]

The list that will have punctuation added between every adjacent pair of elements

-> [SDoc]

Punctuated list

ppWhen :: Bool -> SDoc -> SDoc #

speakNth :: Int -> SDoc #

Converts an integer to a verbal index:

speakNth 1 = text "first"
speakNth 5 = text "fifth"
speakNth 21 = text "21st"

speakN :: Int -> SDoc #

Converts an integer to a verbal multiplicity:

speakN 0 = text "none"
speakN 5 = text "five"
speakN 10 = text "10"

speakNOf :: Int -> SDoc -> SDoc #

Converts an integer and object description to a statement about the multiplicity of those objects:

speakNOf 0 (text "melon") = text "no melons"
speakNOf 1 (text "melon") = text "one melon"
speakNOf 3 (text "melon") = text "three melons"

plural :: [a] -> SDoc #

Determines the pluralisation suffix appropriate for the length of a list:

plural [] = char 's'
plural ["Hello"] = empty
plural ["Hello", "World"] = char 's'

isOrAre :: [a] -> SDoc #

Determines the form of to be appropriate for the length of a list:

isOrAre [] = text "are"
isOrAre ["Hello"] = text "is"
isOrAre ["Hello", "World"] = text "are"

doOrDoes :: [a] -> SDoc #

Determines the form of to do appropriate for the length of a list:

doOrDoes [] = text "do"
doOrDoes ["Hello"] = text "does"
doOrDoes ["Hello", "World"] = text "do"

coloured :: PprColour -> SDoc -> SDoc #

Apply the given colour/style for the argument.

Only takes effect if colours are enabled.

Converting SDoc into strings and outputing it

printSDoc :: Mode -> DynFlags -> Handle -> PprStyle -> SDoc -> IO () #

The analog of printDoc_ for SDoc, which tries to make sure the terminal doesn't get screwed up by the ANSI color codes if an exception is thrown during pretty-printing.

printSDocLn :: Mode -> DynFlags -> Handle -> PprStyle -> SDoc -> IO () #

Like printSDoc but appends an extra newline.

printForC :: DynFlags -> Handle -> SDoc -> IO () #

Like printSDocLn but specialized with LeftMode and PprCode CStyle. This is typically used to output C-- code.

bufLeftRenderSDoc :: DynFlags -> BufHandle -> PprStyle -> SDoc -> IO () #

An efficient variant of printSDoc specialized for LeftMode that outputs to a BufHandle.

pprHsChar :: Char -> SDoc #

Special combinator for showing character literals.

pprHsString :: FastString -> SDoc #

Special combinator for showing string literals.

pprHsBytes :: ByteString -> SDoc #

Special combinator for showing bytestring literals.

pprPrimChar :: Char -> SDoc #

Special combinator for showing unboxed literals.

pprFilePathString :: FilePath -> SDoc #

Normalise, escape and render a string representing a path

e.g. "c:\whatever"

Controlling the style in which output is printed

data BindingSite #

BindingSite is used to tell the thing that prints binder what language construct is binding the identifier. This can be used to decide how much info to print. Also see Note [Binding-site specific printing] in PprCore

Constructors

LambdaBind

The x in (x. e)

CaseBind

The x in case scrut of x { (y,z) -> ... }

CasePatBind

The y,z in case scrut of x { (y,z) -> ... }

LetBind

The x in (let x = rhs in e)

data PprStyle #

Instances

Instances details
Outputable PprStyle # 
Instance details

Defined in Outputable

data CodeStyle #

Constructors

CStyle 
AsmStyle 

data PrintUnqualified #

When printing code that contains original names, we need to map the original names back to something the user understands. This is the purpose of the triple of functions that gets passed around when rendering SDoc.

type QueryQualifyName = Module -> OccName -> QualifyName #

Given a Name's Module and OccName, decide whether and how to qualify it.

type QueryQualifyModule = Module -> Bool #

For a given module, we need to know whether to print it with a package name to disambiguate it.

type QueryQualifyPackage = UnitId -> Bool #

For a given package, we need to know whether to print it with the component id to disambiguate it.

alwaysQualifyNames :: QueryQualifyName #

NB: This won't ever show package IDs

data QualifyName #

Instances

Instances details
Outputable QualifyName # 
Instance details

Defined in Outputable

withPprStyleDoc :: DynFlags -> PprStyle -> SDoc -> Doc #

This is not a recommended way to render SDoc, since it breaks the abstraction layer of SDoc. Prefer to use printSDoc, printSDocLn, bufLeftRenderSDoc, or renderWithStyle instead.

pprDeeperList :: ([SDoc] -> SDoc) -> [SDoc] -> SDoc #

Truncate a list that is longer than the current depth.

mkErrStyle :: DynFlags -> PrintUnqualified -> PprStyle #

Style for printing error messages

data Depth #

Constructors

AllTheWay 
PartWay Int 

ifPprDebug :: SDoc -> SDoc -> SDoc #

Says what to do with and without -dppr-debug

whenPprDebug :: SDoc -> SDoc #

Says what to do with -dppr-debug; without, return empty

Error handling and debugging utilities

pprPanic :: HasCallStack => String -> SDoc -> a #

Throw an exception saying "bug in GHC"

pprSorry :: String -> SDoc -> a #

Throw an exception saying "this isn't finished yet"

assertPprPanic :: HasCallStack => String -> Int -> SDoc -> a #

Panic with an assertation failure, recording the given file and line number. Should typically be accessed with the ASSERT family of macros

pprPgmError :: String -> SDoc -> a #

Throw an exception saying "bug in pgm being compiled" (used for unusual program errors)

pprTrace :: String -> SDoc -> a -> a #

If debug output is on, show some SDoc on the screen

pprTraceDebug :: String -> SDoc -> a -> a #

pprTraceWith :: String -> (a -> SDoc) -> a -> a #

pprTraceWith desc f x is equivalent to pprTrace desc (f x) x. This allows you to print details from the returned value as well as from ambient variables.

pprTraceIt :: Outputable a => String -> a -> a #

pprTraceIt desc x is equivalent to pprTrace desc (ppr x) x

warnPprTrace :: HasCallStack => Bool -> String -> Int -> SDoc -> a -> a #

Just warn about an assertion failure, recording the given file and line number. Should typically be accessed with the WARN macros

pprSTrace :: HasCallStack => SDoc -> a -> a #

If debug output is on, show some SDoc on the screen along with a call stack when available.

pprTraceException :: ExceptionMonad m => String -> SDoc -> m a -> m a #

pprTraceException desc x action runs action, printing a message if it throws an exception.

pprTraceM :: Applicative f => String -> SDoc -> f () #

trace :: String -> a -> a Source #

The trace function outputs the trace message given as its first argument, before returning the second argument as its result.

For example, this returns the value of f x but first outputs the message.

>>> let x = 123; f = show
>>> trace ("calling f with x = " ++ show x) (f x)
"calling f with x = 123
123"

The trace function should only be used for debugging, or for monitoring execution. The function is not referentially transparent: its type indicates that it is a pure function but it has the side effect of outputting the trace message.

pgmError :: String -> a #

Panics and asserts.

panic :: String -> a #

Panics and asserts.

sorry :: String -> a #

Panics and asserts.

assertPanic :: String -> Int -> a #

Throw a failed assertion exception for a given filename and line number.

pprDebugAndThen :: DynFlags -> (String -> a) -> SDoc -> SDoc -> a #