ghc-8.6.4: The GHC API

Safe HaskellNone
LanguageHaskell2010

Outputable

Contents

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 Source #

Class designating that some type has an SDoc representation

Minimal complete definition

Nothing

Methods

ppr :: a -> SDoc Source #

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

Instances
Outputable Bool Source # 
Instance details

Defined in Outputable

Outputable Char Source # 
Instance details

Defined in Outputable

Outputable Int Source # 
Instance details

Defined in Outputable

Methods

ppr :: Int -> SDoc Source #

pprPrec :: Rational -> Int -> SDoc Source #

Outputable Int32 Source # 
Instance details

Defined in Outputable

Outputable Int64 Source # 
Instance details

Defined in Outputable

Outputable Integer Source # 
Instance details

Defined in Outputable

Outputable Ordering Source # 
Instance details

Defined in Outputable

Outputable Word Source # 
Instance details

Defined in Outputable

Outputable Word16 Source # 
Instance details

Defined in Outputable

Outputable Word32 Source # 
Instance details

Defined in Outputable

Outputable () Source # 
Instance details

Defined in Outputable

Methods

ppr :: () -> SDoc Source #

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

Outputable Fingerprint Source # 
Instance details

Defined in Outputable

Outputable Extension Source # 
Instance details

Defined in Outputable

Outputable Serialized Source # 
Instance details

Defined in Outputable

Outputable Name Source # 
Instance details

Defined in Name

Outputable OccName Source # 
Instance details

Defined in OccName

Outputable PrimOp Source # 
Instance details

Defined in PrimOp

Outputable TyCon Source # 
Instance details

Defined in TyCon

Outputable FastString Source # 
Instance details

Defined in Outputable

Outputable ComponentId Source # 
Instance details

Defined in Module

Outputable InstalledUnitId Source # 
Instance details

Defined in Module

Outputable UnitId Source # 
Instance details

Defined in Module

Outputable ModuleName Source # 
Instance details

Defined in Module

Outputable Module Source # 
Instance details

Defined in Module

Outputable QualifyName Source # 
Instance details

Defined in Outputable

Outputable PprStyle Source # 
Instance details

Defined in Outputable

Outputable TyBinder Source # 
Instance details

Defined in TyCoRep

Outputable TCvSubst Source # 
Instance details

Defined in TyCoRep

Outputable UnivCoProvenance Source # 
Instance details

Defined in TyCoRep

Outputable Coercion Source # 
Instance details

Defined in TyCoRep

Outputable TyThing Source # 
Instance details

Defined in TyCoRep

Outputable Type Source # 
Instance details

Defined in TyCoRep

Outputable MetaDetails Source # 
Instance details

Defined in TcType

Outputable SrcSpan Source # 
Instance details

Defined in SrcLoc

Outputable RealSrcSpan Source # 
Instance details

Defined in SrcLoc

Outputable SrcLoc Source # 
Instance details

Defined in SrcLoc

Outputable RealSrcLoc Source # 
Instance details

Defined in SrcLoc

Outputable IdDetails Source # 
Instance details

Defined in IdInfo

Outputable IntWithInf Source # 
Instance details

Defined in BasicTypes

Outputable FractionalLit Source # 
Instance details

Defined in BasicTypes

Outputable IntegralLit Source # 
Instance details

Defined in BasicTypes

Outputable InlineSpec Source # 
Instance details

Defined in BasicTypes

Outputable InlinePragma Source # 
Instance details

Defined in BasicTypes

Outputable RuleMatchInfo Source # 
Instance details

Defined in BasicTypes

Outputable Activation Source # 
Instance details

Defined in BasicTypes

Outputable CompilerPhase Source # 
Instance details

Defined in BasicTypes

Outputable SourceText Source # 
Instance details

Defined in BasicTypes

Outputable SuccessFlag Source # 
Instance details

Defined in BasicTypes

Outputable TailCallInfo Source # 
Instance details

Defined in BasicTypes

Outputable OccInfo Source # 
Instance details

Defined in BasicTypes

Outputable OverlapMode Source # 
Instance details

Defined in BasicTypes

Outputable OverlapFlag Source # 
Instance details

Defined in BasicTypes

Outputable Origin Source # 
Instance details

Defined in BasicTypes

Outputable RecFlag Source # 
Instance details

Defined in BasicTypes

Outputable Boxity Source # 
Instance details

Defined in BasicTypes

Outputable TopLevelFlag Source # 
Instance details

Defined in BasicTypes

Outputable LexicalFixity Source # 
Instance details

Defined in BasicTypes

Outputable FixityDirection Source # 
Instance details

Defined in BasicTypes

Outputable Fixity Source # 
Instance details

Defined in BasicTypes

Outputable WarningTxt Source # 
Instance details

Defined in BasicTypes

Outputable StringLiteral Source # 
Instance details

Defined in BasicTypes

Outputable FunctionOrData Source # 
Instance details

Defined in BasicTypes

Outputable SwapFlag Source # 
Instance details

Defined in BasicTypes

Outputable OneShotInfo Source # 
Instance details

Defined in BasicTypes

Outputable LeftOrRight Source # 
Instance details

Defined in BasicTypes

Outputable Unique Source # 
Instance details

Defined in Unique

Outputable RegClass Source # 
Instance details

Defined in RegClass

Outputable Reg Source #

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 Source #

pprPrec :: Rational -> Reg -> SDoc Source #

Outputable RealReg Source # 
Instance details

Defined in Reg

Outputable VirtualReg Source # 
Instance details

Defined in Reg

Outputable DefUnitId Source # 
Instance details

Defined in Module

Outputable InstalledModule Source # 
Instance details

Defined in Module

Outputable IndefModule Source # 
Instance details

Defined in Module

Outputable IndefUnitId Source # 
Instance details

Defined in Module

Outputable ModLocation Source # 
Instance details

Defined in Module

Outputable PackageName Source # 
Instance details

Defined in PackageConfig

Outputable SourcePackageId Source # 
Instance details

Defined in PackageConfig

Outputable CType Source # 
Instance details

Defined in ForeignCall

Outputable Header Source # 
Instance details

Defined in ForeignCall

Outputable CCallConv Source # 
Instance details

Defined in ForeignCall

Outputable CCallSpec Source # 
Instance details

Defined in ForeignCall

Outputable CExportSpec Source # 
Instance details

Defined in ForeignCall

Outputable Safety Source # 
Instance details

Defined in ForeignCall

Outputable ForeignCall Source # 
Instance details

Defined in ForeignCall

Outputable Phase Source # 
Instance details

Defined in DriverPhases

Outputable WarnReason Source # 
Instance details

Defined in CmdLineParser

Outputable PackageFlag Source # 
Instance details

Defined in DynFlags

Outputable ModRenaming Source # 
Instance details

Defined in DynFlags

Outputable PackageArg Source # 
Instance details

Defined in DynFlags

Outputable GhcMode Source # 
Instance details

Defined in DynFlags

Outputable SafeHaskellMode Source # 
Instance details

Defined in DynFlags

Outputable Language Source # 
Instance details

Defined in DynFlags

Outputable WarnReason Source # 
Instance details

Defined in DynFlags

Outputable ArgDescr Source # 
Instance details

Defined in SMRep

Outputable ClosureTypeInfo Source # 
Instance details

Defined in SMRep

Outputable SMRep Source # 
Instance details

Defined in SMRep

Outputable StgHalfWord Source # 
Instance details

Defined in SMRep

Outputable StgWord Source # 
Instance details

Defined in SMRep

Outputable ArgDocMap Source # 
Instance details

Defined in HsDoc

Outputable DeclDocMap Source # 
Instance details

Defined in HsDoc

Outputable HsDocString Source # 
Instance details

Defined in HsDoc

Outputable Annotation Source # 
Instance details

Defined in Annotations

Outputable CoreToDo Source # 
Instance details

Defined in CoreMonad

Outputable UnusablePackageReason Source # 
Instance details

Defined in Packages

Outputable ModuleOrigin Source # 
Instance details

Defined in Packages

Outputable ForeignHint Source # 
Instance details

Defined in PprCmmDecl

Outputable Width Source # 
Instance details

Defined in CmmType

Outputable CmmType Source # 
Instance details

Defined in CmmType

Outputable AvailInfo Source # 
Instance details

Defined in Avail

Outputable ImportSpec Source # 
Instance details

Defined in RdrName

Outputable Parent Source # 
Instance details

Defined in RdrName

Outputable GlobalRdrElt Source # 
Instance details

Defined in RdrName

Outputable LocalRdrEnv Source # 
Instance details

Defined in RdrName

Outputable RdrName Source # 
Instance details

Defined in RdrName

Outputable AnnotationComment Source # 
Instance details

Defined in ApiAnnotation

Outputable AnnKeywordId Source # 
Instance details

Defined in ApiAnnotation

Outputable Token Source # 
Instance details

Defined in Lexer

Outputable ArgFlag Source # 
Instance details

Defined in Var

Outputable Var Source # 
Instance details

Defined in Var

Methods

ppr :: Var -> SDoc Source #

pprPrec :: Rational -> Var -> SDoc Source #

Outputable PatSyn Source # 
Instance details

Defined in PatSyn

Outputable IfaceCoercion Source # 
Instance details

Defined in IfaceType

Outputable IfaceTyLit Source # 
Instance details

Defined in IfaceType

Outputable IfaceTyCon Source # 
Instance details

Defined in IfaceType

Outputable IfaceType Source # 
Instance details

Defined in IfaceType

Outputable IfaceTcArgs Source # 
Instance details

Defined in IfaceType

Outputable NoExt Source # 
Instance details

Defined in HsExtension

Outputable EqSpec Source # 
Instance details

Defined in DataCon

Outputable DataCon Source # 
Instance details

Defined in DataCon

Outputable ConLike Source # 
Instance details

Defined in ConLike

Outputable CostCentreStack Source # 
Instance details

Defined in CostCentre

Outputable CostCentre Source # 
Instance details

Defined in CostCentre

Outputable CoAxiomRule Source # 
Instance details

Defined in CoAxiom

Outputable Role Source # 
Instance details

Defined in CoAxiom

Outputable CoAxBranch Source # 
Instance details

Defined in CoAxiom

Outputable LiftingContext Source # 
Instance details

Defined in Coercion

Outputable Class Source # 
Instance details

Defined in Class

Outputable TyConFlavour Source # 
Instance details

Defined in TyCon

Outputable PrimElemRep Source # 
Instance details

Defined in TyCon

Outputable PrimRep Source # 
Instance details

Defined in TyCon

Outputable FamTyConFlav Source # 
Instance details

Defined in TyCon

Outputable AlgTyConFlav Source # 
Instance details

Defined in TyCon

Outputable TyConBndrVis Source # 
Instance details

Defined in TyCon

Outputable IfaceBndr Source # 
Instance details

Defined in IfaceType

Outputable InScopeSet Source # 
Instance details

Defined in VarEnv

Outputable CoercionHole Source # 
Instance details

Defined in TyCoRep

Outputable EqRel Source # 
Instance details

Defined in Type

Outputable Literal Source # 
Instance details

Defined in Literal

Outputable LabelSet Source # 
Instance details

Defined in Hoopl.Label

Outputable Label Source # 
Instance details

Defined in Hoopl.Label

Outputable OverLitVal Source # 
Instance details

Defined in HsLit

Outputable StrictnessMark Source # 
Instance details

Defined in DataCon

Outputable SrcUnpackedness Source # 
Instance details

Defined in DataCon

Outputable SrcStrictness Source # 
Instance details

Defined in DataCon

Outputable HsImplBang Source # 
Instance details

Defined in DataCon

Outputable HsSrcBang Source # 
Instance details

Defined in DataCon

Outputable SlotTy Source # 
Instance details

Defined in RepType

Outputable StrictSig Source # 
Instance details

Defined in Demand

Outputable DmdType Source # 
Instance details

Defined in Demand

Outputable CPRResult Source # 
Instance details

Defined in Demand

Outputable TypeShape Source # 
Instance details

Defined in Demand

Outputable Count Source # 
Instance details

Defined in Demand

Outputable UseDmd Source # 
Instance details

Defined in Demand

Outputable StrDmd Source # 
Instance details

Defined in Demand

Outputable UnfoldingGuidance Source # 
Instance details

Defined in PprCore

Outputable UnfoldingSource Source # 
Instance details

Defined in PprCore

Outputable Unfolding Source # 
Instance details

Defined in PprCore

Outputable CoreRule Source # 
Instance details

Defined in PprCore

Outputable AltCon Source # 
Instance details

Defined in CoreSyn

Outputable LevityInfo Source # 
Instance details

Defined in IdInfo

Outputable TickBoxOp Source # 
Instance details

Defined in IdInfo

Outputable CafInfo Source # 
Instance details

Defined in IdInfo

Outputable RecSelParent Source # 
Instance details

Defined in IdInfo

Outputable UnVarGraph Source # 
Instance details

Defined in UnVarGraph

Outputable UnVarSet Source # 
Instance details

Defined in UnVarGraph

Outputable PrimCall Source # 
Instance details

Defined in PrimOp

Outputable HsWildCardInfo Source # 
Instance details

Defined in HsTypes

Outputable HsTyLit Source # 
Instance details

Defined in HsTypes

Outputable NewHsTypeX Source # 
Instance details

Defined in HsTypes

Outputable HsIPName Source # 
Instance details

Defined in HsTypes

Outputable CgBreakInfo Source # 
Instance details

Defined in ByteCodeTypes

Outputable UnlinkedBCO Source # 
Instance details

Defined in ByteCodeTypes

Outputable CompiledByteCode Source # 
Instance details

Defined in ByteCodeTypes

Outputable CoreStats Source # 
Instance details

Defined in CoreStats

Outputable UpdateFlag Source # 
Instance details

Defined in StgSyn

Outputable AltType Source # 
Instance details

Defined in StgSyn

Outputable ShowHowMuch Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceJoinInfo Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceConAlt Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceExpr Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceIdDetails Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceUnfolding Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceInfoItem Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceIdInfo Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceCompleteMatch Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceAnnotation Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceRule Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceFamInst Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceClsInst Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceAT Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceClassOp Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceTyConParent Source # 
Instance details

Defined in IfaceSyn

Outputable IfaceDecl Source # 
Instance details

Defined in IfaceSyn

Outputable ForeignLabelSource Source # 
Instance details

Defined in CLabel

Outputable CLabel Source # 
Instance details

Defined in CLabel

Outputable GlobalReg Source # 
Instance details

Defined in PprCmmExpr

Outputable LocalReg Source # 
Instance details

Defined in PprCmmExpr

Outputable CmmLit Source # 
Instance details

Defined in PprCmmExpr

Outputable Area Source # 
Instance details

Defined in PprCmmExpr

Outputable CmmReg Source # 
Instance details

Defined in PprCmmExpr

Outputable CmmExpr Source # 
Instance details

Defined in PprCmmExpr

Outputable CmmTickScope Source # 
Instance details

Defined in CmmNode

Outputable ForeignTarget Source # 
Instance details

Defined in PprCmm

Outputable CmmReturnInfo Source # 
Instance details

Defined in PprCmm

Outputable ForeignConvention Source # 
Instance details

Defined in PprCmm

Outputable Convention Source # 
Instance details

Defined in PprCmm

Outputable CmmStatics Source # 
Instance details

Defined in PprCmmDecl

Outputable CmmStatic Source # 
Instance details

Defined in PprCmmDecl

Outputable CmmInfoTable Source # 
Instance details

Defined in PprCmmDecl

Outputable CmmStackInfo Source # 
Instance details

Defined in PprCmm

Outputable CmmTopInfo Source # 
Instance details

Defined in PprCmm

Outputable CmmGraph Source # 
Instance details

Defined in PprCmm

Outputable LlvmCastOp Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmCmpOp Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmMachOp Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmLinkageType Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmCallConvention Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmFuncAttr Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmParamAttr Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmFunctionDecl Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmStatic Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmLit Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmVar Source # 
Instance details

Defined in Llvm.Types

Outputable LlvmType Source # 
Instance details

Defined in Llvm.Types

Outputable MetaExpr Source # 
Instance details

Defined in Llvm.MetaData

Outputable MetaId Source # 
Instance details

Defined in Llvm.MetaData

Outputable LiveInfo Source # 
Instance details

Defined in RegAlloc.Liveness

Outputable Loc Source # 
Instance details

Defined in RegAlloc.Linear.Base

Methods

ppr :: Loc -> SDoc Source #

pprPrec :: Rational -> Loc -> SDoc Source #

Outputable SpillStats Source # 
Instance details

Defined in RegAlloc.Graph.Spill

Outputable UnwindExpr Source # 
Instance details

Defined in Debug

Outputable UnwindPoint Source # 
Instance details

Defined in Debug

Outputable DebugBlock Source # 
Instance details

Defined in Debug

Outputable Status Source # 
Instance details

Defined in CmmProcPoint

Outputable ParamLocation Source # 
Instance details

Defined in CmmCallConv

Outputable FamInstMatch Source # 
Instance details

Defined in FamInstEnv

Outputable FamInst Source # 
Instance details

Defined in FamInstEnv

Outputable CandidatesQTvs Source # 
Instance details

Defined in TcType

Outputable TcLevel Source # 
Instance details

Defined in TcType

Outputable InferResult Source # 
Instance details

Defined in TcType

Outputable ExpType Source # 
Instance details

Defined in TcType

Outputable CgLoc Source # 
Instance details

Defined in StgCmmClosure

Outputable Sequel Source # 
Instance details

Defined in StgCmmMonad

Outputable CgIdInfo Source # 
Instance details

Defined in StgCmmMonad

Outputable ArgRep Source # 
Instance details

Defined in StgCmmArgRep

Outputable ModuleSRTInfo Source # 
Instance details

Defined in CmmBuildInfoTables

Outputable ClsInst Source # 
Instance details

Defined in InstEnv

Outputable EvCallStack Source # 
Instance details

Defined in TcEvidence

Outputable EvTypeable Source # 
Instance details

Defined in TcEvidence

Outputable EvTerm Source # 
Instance details

Defined in TcEvidence

Outputable EvBind Source # 
Instance details

Defined in TcEvidence

Outputable EvBindMap Source # 
Instance details

Defined in TcEvidence

Outputable EvBindsVar Source # 
Instance details

Defined in TcEvidence

Outputable TcEvBinds Source # 
Instance details

Defined in TcEvidence

Outputable HsWrapper Source # 
Instance details

Defined in TcEvidence

Outputable TcSpecPrag Source # 
Instance details

Defined in HsBinds

Outputable DocDecl Source # 
Instance details

Defined in HsDecls

Outputable ForeignExport Source # 
Instance details

Defined in HsDecls

Outputable ForeignImport Source # 
Instance details

Defined in HsDecls

Outputable NewOrData Source # 
Instance details

Defined in HsDecls

Outputable PendingTcSplice Source # 
Instance details

Defined in HsExpr

Outputable PendingRnSplice Source # 
Instance details

Defined in HsExpr

Outputable SpliceDecoration Source # 
Instance details

Defined in HsExpr

Outputable UnboundVar Source # 
Instance details

Defined in HsExpr

Outputable PmLit Source # 
Instance details

Defined in PmExpr

Outputable PmExpr Source # 
Instance details

Defined in PmExpr

Outputable CompleteMatch Source # 
Instance details

Defined in HscTypes

Outputable Unlinked Source # 
Instance details

Defined in HscTypes

Outputable Linkable Source # 
Instance details

Defined in HscTypes

Outputable IfaceTrustInfo Source # 
Instance details

Defined in HscTypes

Outputable ModSummary Source # 
Instance details

Defined in HscTypes

Outputable FixItem Source # 
Instance details

Defined in HscTypes

Outputable Warnings Source # 
Instance details

Defined in LoadIface

Outputable InteractiveImport Source # 
Instance details

Defined in HscTypes

Outputable SptEntry Source # 
Instance details

Defined in HscTypes

Outputable TargetId Source # 
Instance details

Defined in HscTypes

Outputable Target Source # 
Instance details

Defined in HscTypes

Outputable TypeOrKind Source # 
Instance details

Defined in TcRnTypes

Outputable CtOrigin Source # 
Instance details

Defined in TcRnTypes

Outputable SkolemInfo Source # 
Instance details

Defined in TcRnTypes

Outputable SubGoalDepth Source # 
Instance details

Defined in TcRnTypes

Outputable CtFlavour Source # 
Instance details

Defined in TcRnTypes

Outputable CtEvidence Source # 
Instance details

Defined in TcRnTypes

Outputable TcEvDest Source # 
Instance details

Defined in TcRnTypes

Outputable ImplicStatus Source # 
Instance details

Defined in TcRnTypes

Outputable Implication Source # 
Instance details

Defined in TcRnTypes

Outputable WantedConstraints Source # 
Instance details

Defined in TcRnTypes

Outputable Hole Source # 
Instance details

Defined in TcRnTypes

Outputable QCInst Source # 
Instance details

Defined in TcRnTypes

Outputable Ct Source # 
Instance details

Defined in TcRnTypes

Methods

ppr :: Ct -> SDoc Source #

pprPrec :: Rational -> Ct -> SDoc Source #

Outputable TcPatSynInfo Source # 
Instance details

Defined in TcRnTypes

Outputable TcIdSigInst Source # 
Instance details

Defined in TcRnTypes

Outputable TcIdSigInfo Source # 
Instance details

Defined in TcRnTypes

Outputable TcSigInfo Source # 
Instance details

Defined in TcRnTypes

Outputable WhereFrom Source # 
Instance details

Defined in TcRnTypes

Outputable IdBindingInfo Source # 
Instance details

Defined in TcRnTypes

Outputable PromotionErr Source # 
Instance details

Defined in TcRnTypes

Outputable TcTyThing Source # 
Instance details

Defined in TcRnTypes

Outputable ThStage Source # 
Instance details

Defined in TcRnTypes

Outputable TcBinder Source # 
Instance details

Defined in TcRnTypes

Outputable PhasePlus Source # 
Instance details

Defined in PipelineMonad

Outputable PluginRecompile Source # 
Instance details

Defined in Plugins

Outputable HsComponentId Source # 
Instance details

Defined in BkpSyn

Outputable FloatBind Source # 
Instance details

Defined in MkCore

Outputable Subst Source # 
Instance details

Defined in CoreSubst

Outputable CallCtxt Source # 
Instance details

Defined in CoreUnfold

Outputable ArgSummary Source # 
Instance details

Defined in CoreUnfold

Outputable HsSigCtxt Source # 
Instance details

Defined in RnEnv

Outputable ChildLookupResult Source # 
Instance details

Defined in RnEnv

Outputable Tick Source # 
Instance details

Defined in CoreMonad

Outputable FloatOutSwitches Source # 
Instance details

Defined in CoreMonad

Outputable SimplMode Source # 
Instance details

Defined in CoreMonad

Outputable LetFloats Source # 
Instance details

Defined in SimplEnv

Outputable SimplSR Source # 
Instance details

Defined in SimplEnv

Outputable SimplFloats Source # 
Instance details

Defined in SimplEnv

Outputable ArgSpec Source # 
Instance details

Defined in SimplUtils

Outputable DupFlag Source # 
Instance details

Defined in SimplUtils

Outputable SimplCont Source # 
Instance details

Defined in SimplUtils

Outputable FloatSpec Source # 
Instance details

Defined in SetLevels

Outputable Level Source # 
Instance details

Defined in SetLevels

Outputable BCInstr Source # 
Instance details

Defined in ByteCodeInstr

Outputable EquationInfo Source # 
Instance details

Defined in DsMonad

Outputable DsMatchContext Source # 
Instance details

Defined in DsMonad

Outputable Term Source # 
Instance details

Defined in RtClosureInspect

Outputable InertCans Source # 
Instance details

Defined in TcSMonad

Outputable InertSet Source # 
Instance details

Defined in TcSMonad

Outputable WorkList Source # 
Instance details

Defined in TcSMonad

Outputable FlattenMode Source # 
Instance details

Defined in TcFlatten

Outputable InferMode Source # 
Instance details

Defined in TcSimplify

Outputable LetBndrSpec Source # 
Instance details

Defined in TcPat

Outputable ThetaOrigin Source # 
Instance details

Defined in TcDerivUtils

Outputable PredOrigin Source # 
Instance details

Defined in TcDerivUtils

Outputable DerivContext Source # 
Instance details

Defined in TcDerivUtils

Outputable DerivSpecMechanism Source # 
Instance details

Defined in TcDerivUtils

Outputable DerivEnv Source # 
Instance details

Defined in TcDerivUtils

Outputable Instr Source # 
Instance details

Defined in X86.Ppr

Outputable Instr Source # 
Instance details

Defined in SPARC.Ppr

Outputable Instr Source # 
Instance details

Defined in PPC.Ppr

Outputable DwarfFrameBlock Source # 
Instance details

Defined in Dwarf.Types

Outputable GetDocsFailure Source # 
Instance details

Defined in InteractiveEval

Outputable CoreModule Source # 
Instance details

Defined in GHC

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

Defined in Outputable

Methods

ppr :: [a] -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: Maybe a -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: IntMap elt -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: SCC a -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: Set a -> SDoc Source #

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

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

Defined in Pair

Methods

ppr :: Pair a -> SDoc Source #

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

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

Defined in OrdList

Outputable (DefMethSpec ty) Source # 
Instance details

Defined in BasicTypes

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

Defined in UniqFM

Methods

ppr :: UniqFM a -> SDoc Source #

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

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

Defined in UniqSet

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

Defined in UniqDFM

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

Defined in BooleanFormula

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

Defined in Digraph

Methods

ppr :: Graph node -> SDoc Source #

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

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

Defined in Bag

Methods

ppr :: Bag a -> SDoc Source #

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

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

Defined in OccName

Methods

ppr :: OccEnv a -> SDoc Source #

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

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

Defined in FieldLabel

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

Defined in Annotations

Methods

ppr :: AnnTarget name -> SDoc Source #

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

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (Pat p) Source # 
Instance details

Defined in HsPat

Methods

ppr :: Pat p -> SDoc Source #

pprPrec :: Rational -> Pat p -> SDoc Source #

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (IE p) Source # 
Instance details

Defined in HsImpExp

Methods

ppr :: IE p -> SDoc Source #

pprPrec :: Rational -> IE p -> SDoc Source #

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

Defined in HsImpExp

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ImportDecl p) Source # 
Instance details

Defined in HsImpExp

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (SyntaxExpr p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsSplice p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsCmd p) Source # 
Instance details

Defined in HsExpr

Methods

ppr :: HsCmd p -> SDoc Source #

pprPrec :: Rational -> HsCmd p -> SDoc Source #

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsExpr p) Source # 
Instance details

Defined in HsExpr

Methods

ppr :: HsExpr p -> SDoc Source #

pprPrec :: Rational -> HsExpr p -> SDoc Source #

Outputable (CoAxiom br) Source # 
Instance details

Defined in CoAxiom

Methods

ppr :: CoAxiom br -> SDoc Source #

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

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

Defined in Hoopl.Label

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsOverLit p) Source # 
Instance details

Defined in HsLit

p ~ GhcPass pass => Outputable (HsLit p) Source # 
Instance details

Defined in HsLit

Methods

ppr :: HsLit p -> SDoc Source #

pprPrec :: Rational -> HsLit p -> SDoc Source #

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

Defined in Unify

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

Defined in CoreSyn

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

Defined in PprCore

Methods

ppr :: Tickish id -> SDoc Source #

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

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

Defined in PprCore

Methods

ppr :: Bind b -> SDoc Source #

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

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

Defined in PprCore

Methods

ppr :: Expr b -> SDoc Source #

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

p ~ GhcPass pass => Outputable (AmbiguousFieldOcc p) Source # 
Instance details

Defined in HsTypes

Outputable (FieldOcc pass) Source # 
Instance details

Defined in HsTypes

Methods

ppr :: FieldOcc pass -> SDoc Source #

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

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ConDeclField p) Source # 
Instance details

Defined in HsTypes

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsType p) Source # 
Instance details

Defined in HsTypes

Methods

ppr :: HsType p -> SDoc Source #

pprPrec :: Rational -> HsType p -> SDoc Source #

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsTyVarBndr p) Source # 
Instance details

Defined in HsTypes

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (LHsQTyVars p) Source # 
Instance details

Defined in HsTypes

Outputable bdee => Outputable (GenStgArg bdee) Source # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgArg bdee -> SDoc Source #

pprPrec :: Rational -> GenStgArg bdee -> SDoc Source #

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

Defined in Cmm

Methods

ppr :: ListGraph instr -> SDoc Source #

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

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

Defined in Cmm

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

Defined in RegAlloc.Liveness

Methods

ppr :: LiveInstr instr -> SDoc Source #

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

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

Defined in RegAlloc.Liveness

Methods

ppr :: InstrSR instr -> SDoc Source #

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

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

Defined in CoreMap

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

Defined in StgCmmClosure

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

Defined in HsBinds

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (FixitySig p) Source # 
Instance details

Defined in HsBinds

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (Sig p) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: Sig p -> SDoc Source #

pprPrec :: Rational -> Sig p -> SDoc Source #

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (IPBind p) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: IPBind p -> SDoc Source #

pprPrec :: Rational -> IPBind p -> SDoc Source #

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsIPBinds p) Source # 
Instance details

Defined in HsBinds

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ABExport p) Source # 
Instance details

Defined in HsBinds

(p ~ GhcPass pass, OutputableBndr (IdP p)) => Outputable (RoleAnnotDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (AnnDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndr (IdP p)) => Outputable (WarnDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndr (IdP p)) => Outputable (WarnDecls p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (RuleBndr p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (RuleDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (RuleDecls p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ForeignDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (DefaultDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (DerivStrategy p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (DerivDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (InstDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ClsInstDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (DataFamInstDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (TyFamInstDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ConDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsDerivingClause p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsDataDefn p) Source # 
Instance details

Defined in HsDecls

Outputable (FamilyInfo pass) Source # 
Instance details

Defined in HsDecls

Methods

ppr :: FamilyInfo pass -> SDoc Source #

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

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (FamilyDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (TyClGroup p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (TyClDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (SpliceDecl p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsGroup p) Source # 
Instance details

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsDecl p) Source # 
Instance details

Defined in HsDecls

Methods

ppr :: HsDecl p -> SDoc Source #

pprPrec :: Rational -> HsDecl p -> SDoc Source #

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

Defined in HsExpr

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

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (ArithSeqInfo p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsBracket p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsSplicedThing p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsCmdTop p) Source # 
Instance details

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsModule p) Source # 
Instance details

Defined in HsSyn

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

Defined in TcEnv

Outputable (FunDepEqn a) Source # 
Instance details

Defined in FunDeps

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

Defined in ByteCodeInstr

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

Defined in TcCanonical

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

Defined in TcDerivUtils

Methods

ppr :: DerivSpec theta -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: Either a b -> SDoc Source #

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

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

Defined in Outputable

Methods

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

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

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

Defined in Outputable

Methods

ppr :: Map key elt -> SDoc Source #

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

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

Defined in SrcLoc

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

Defined in UniqMap

Methods

ppr :: UniqMap k a -> SDoc Source #

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

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

Defined in Digraph

Methods

ppr :: Node a b -> SDoc Source #

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

Outputable tv => Outputable (TyVarBndr tv ArgFlag) Source # 
Instance details

Defined in Var

Outputable tv => Outputable (TyVarBndr tv TyConBndrVis) Source # 
Instance details

Defined in TyCon

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

Defined in TrieMap

Methods

ppr :: GenMap m a -> SDoc Source #

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

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

Defined in TrieMap

Methods

ppr :: ListMap m a -> SDoc Source #

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

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

Defined in HsTypes

Methods

ppr :: HsConDetails arg rec -> SDoc Source #

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

(p ~ GhcPass pass, Outputable thing) => Outputable (HsWildCardBndrs p thing) Source # 
Instance details

Defined in HsTypes

Methods

ppr :: HsWildCardBndrs p thing -> SDoc Source #

pprPrec :: Rational -> HsWildCardBndrs p thing -> SDoc Source #

(p ~ GhcPass pass, Outputable thing) => Outputable (HsImplicitBndrs p thing) Source # 
Instance details

Defined in HsTypes

Methods

ppr :: HsImplicitBndrs p thing -> SDoc Source #

pprPrec :: Rational -> HsImplicitBndrs p thing -> SDoc Source #

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgRhs bndr bdee) Source # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgRhs bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgRhs bndr bdee -> SDoc Source #

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgExpr bndr bdee) Source # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgExpr bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgExpr bndr bdee -> SDoc Source #

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgBinding bndr bdee) Source # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgBinding bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgBinding bndr bdee -> SDoc Source #

(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgTopBinding bndr bdee) Source # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgTopBinding bndr bdee -> SDoc Source #

pprPrec :: Rational -> GenStgTopBinding bndr bdee -> SDoc Source #

Outputable (CmmNode e x) Source # 
Instance details

Defined in PprCmm

Methods

ppr :: CmmNode e x -> SDoc Source #

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

(idR ~ GhcPass pr, OutputableBndrId idL, OutputableBndrId idR, Outputable (XXPatSynBind idL idR)) => Outputable (PatSynBind idL idR) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: PatSynBind idL idR -> SDoc Source #

pprPrec :: Rational -> PatSynBind idL idR -> SDoc Source #

(idL ~ GhcPass pl, idR ~ GhcPass pr, OutputableBndrId idL, OutputableBndrId idR) => Outputable (HsBindLR idL idR) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: HsBindLR idL idR -> SDoc Source #

pprPrec :: Rational -> HsBindLR idL idR -> SDoc Source #

(idL ~ GhcPass pl, idR ~ GhcPass pr, OutputableBndrId idL, OutputableBndrId idR) => Outputable (HsValBindsLR idL idR) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: HsValBindsLR idL idR -> SDoc Source #

pprPrec :: Rational -> HsValBindsLR idL idR -> SDoc Source #

(idL ~ GhcPass pl, idR ~ GhcPass pr, OutputableBndrId idL, OutputableBndrId idR) => Outputable (HsLocalBindsLR idL idR) Source # 
Instance details

Defined in HsBinds

Methods

ppr :: HsLocalBindsLR idL idR -> SDoc Source #

pprPrec :: Rational -> HsLocalBindsLR idL idR -> SDoc Source #

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

Defined in HsPat

Methods

ppr :: HsRecField' p arg -> SDoc Source #

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

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

Defined in HsPat

Methods

ppr :: HsRecFields p arg -> SDoc Source #

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

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

Defined in HsExpr

Methods

ppr :: ParStmtBlock idL idR -> SDoc Source #

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

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

Defined in HsExpr

Methods

ppr :: Match idR body -> SDoc Source #

pprPrec :: Rational -> Match idR body -> SDoc Source #

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

Defined in RegAlloc.Graph.Stats

Methods

ppr :: RegAllocStats statics instr -> SDoc Source #

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

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

Defined in Outputable

Methods

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

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

Outputable (Block CmmNode C C) Source # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode C O) Source # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode O C) Source # 
Instance details

Defined in PprCmm

Outputable (Block CmmNode O O) Source # 
Instance details

Defined in PprCmm

Outputable (Graph CmmNode e x) Source # 
Instance details

Defined in PprCmm

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

Defined in PprCmmDecl

Methods

ppr :: GenCmmDecl d info i -> SDoc Source #

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

(idL ~ GhcPass pl, idR ~ GhcPass pr, OutputableBndrId idL, OutputableBndrId idR, Outputable body) => Outputable (StmtLR idL idR body) Source # 
Instance details

Defined in HsExpr

Methods

ppr :: StmtLR idL idR body -> SDoc Source #

pprPrec :: Rational -> StmtLR idL idR body -> SDoc Source #

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

Defined in Outputable

Methods

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

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

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

Defined in Outputable

Methods

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

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

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

Defined in Outputable

Methods

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

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

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

Defined in Outputable

Methods

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

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

class Outputable a => OutputableBndr a where Source #

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

Defined in Name

OutputableBndr OccName Source # 
Instance details

Defined in OccName

OutputableBndr RdrName Source # 
Instance details

Defined in RdrName

OutputableBndr Var Source # 
Instance details

Defined in PprCore

OutputableBndr PatSyn Source # 
Instance details

Defined in PatSyn

OutputableBndr DataCon Source # 
Instance details

Defined in DataCon

OutputableBndr ConLike Source # 
Instance details

Defined in ConLike

OutputableBndr HsIPName Source # 
Instance details

Defined in HsTypes

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

Defined in HsImpExp

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

Defined in PprCore

p ~ GhcPass pass => OutputableBndr (AmbiguousFieldOcc p) Source # 
Instance details

Defined in HsTypes

Pretty printing combinators

data SDoc Source #

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

Defined in Outputable

Methods

fromString :: String -> SDoc #

runSDoc :: SDoc -> SDocContext -> Doc Source #

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

Returns the separated concatenation of the pretty printed things.

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

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

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

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

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

pprWithCommas Source #

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 Source #

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 Source #

Indent SDoc some specified amount

doublePrec :: Int -> Double -> SDoc Source #

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

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

Join two SDoc together horizontally without a gap

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

Join two SDoc together horizontally with a gap between them

hcat :: [SDoc] -> SDoc Source #

Concatenate SDoc horizontally

hsep :: [SDoc] -> SDoc Source #

Concatenate SDoc horizontally with a space between each one

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

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

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

Join two SDoc together vertically

vcat :: [SDoc] -> SDoc Source #

Concatenate SDoc vertically with dovetailing

sep :: [SDoc] -> SDoc Source #

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

cat :: [SDoc] -> SDoc Source #

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

fsep :: [SDoc] -> SDoc Source #

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 Source #

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

hang Source #

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 Source #

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

punctuate Source #

Arguments

:: SDoc

The punctuation

-> [SDoc]

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

-> [SDoc]

Punctuated list

speakNth :: Int -> SDoc Source #

Converts an integer to a verbal index:

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

speakN :: Int -> SDoc Source #

Converts an integer to a verbal multiplicity:

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

speakNOf :: Int -> SDoc -> SDoc Source #

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 Source #

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 Source #

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 Source #

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 Source #

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 () Source #

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 () Source #

Like printSDoc but appends an extra newline.

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

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

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

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

pprHsChar :: Char -> SDoc Source #

Special combinator for showing character literals.

pprHsString :: FastString -> SDoc Source #

Special combinator for showing string literals.

pprHsBytes :: ByteString -> SDoc Source #

Special combinator for showing bytestring literals.

pprPrimChar :: Char -> SDoc Source #

Special combinator for showing unboxed literals.

Controlling the style in which output is printed

data BindingSite Source #

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 Source #

Instances
Outputable PprStyle Source # 
Instance details

Defined in Outputable

data CodeStyle Source #

Constructors

CStyle 
AsmStyle 

data PrintUnqualified Source #

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 Source #

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

type QueryQualifyModule = Module -> Bool Source #

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

type QueryQualifyPackage = UnitId -> Bool Source #

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

alwaysQualifyNames :: QueryQualifyName Source #

NB: This won't ever show package IDs

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

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 Source #

Truncate a list that is longer than the current depth.

mkErrStyle :: DynFlags -> PrintUnqualified -> PprStyle Source #

Style for printing error messages

data Depth Source #

Constructors

AllTheWay 
PartWay Int 

ifPprDebug :: SDoc -> SDoc -> SDoc Source #

Says what to do with and without -dppr-debug

whenPprDebug :: SDoc -> SDoc Source #

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

Error handling and debugging utilities

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

Throw an exception saying "bug in GHC"

pprSorry :: String -> SDoc -> a Source #

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

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

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 Source #

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

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

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

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

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

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

warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a Source #

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 Source #

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 Source #

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

trace :: String -> a -> a #

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 Source #

Panics and asserts.

panic :: String -> a Source #

Panics and asserts.

sorry :: String -> a Source #

Panics and asserts.

assertPanic :: String -> Int -> a Source #

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

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