ghc-8.6.0.20180810: 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 # 
Instance details

Defined in Outputable

Outputable Char # 
Instance details

Defined in Outputable

Outputable Int # 
Instance details

Defined in Outputable

Methods

ppr :: Int -> SDoc Source #

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

Outputable Int32 # 
Instance details

Defined in Outputable

Outputable Int64 # 
Instance details

Defined in Outputable

Outputable Integer # 
Instance details

Defined in Outputable

Outputable Ordering # 
Instance details

Defined in Outputable

Outputable Word # 
Instance details

Defined in Outputable

Outputable Word16 # 
Instance details

Defined in Outputable

Outputable Word32 # 
Instance details

Defined in Outputable

Outputable () # 
Instance details

Defined in Outputable

Methods

ppr :: () -> SDoc Source #

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

Outputable Fingerprint # 
Instance details

Defined in Outputable

Outputable Extension # 
Instance details

Defined in Outputable

Outputable Serialized # 
Instance details

Defined in Outputable

Outputable Name # 
Instance details

Defined in Name

Outputable OccName # 
Instance details

Defined in OccName

Outputable PrimOp # 
Instance details

Defined in PrimOp

Outputable TyCon # 
Instance details

Defined in TyCon

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

Outputable ModuleName # 
Instance details

Defined in Module

Outputable Module # 
Instance details

Defined in Module

Outputable QualifyName # 
Instance details

Defined in Outputable

Outputable PprStyle # 
Instance details

Defined in Outputable

Outputable TyBinder # 
Instance details

Defined in TyCoRep

Outputable TCvSubst # 
Instance details

Defined in TyCoRep

Outputable UnivCoProvenance # 
Instance details

Defined in TyCoRep

Outputable Coercion # 
Instance details

Defined in TyCoRep

Outputable TyThing # 
Instance details

Defined in TyCoRep

Outputable Type # 
Instance details

Defined in TyCoRep

Outputable MetaDetails # 
Instance details

Defined in TcType

Outputable SrcSpan # 
Instance details

Defined in SrcLoc

Outputable RealSrcSpan # 
Instance details

Defined in SrcLoc

Outputable SrcLoc # 
Instance details

Defined in SrcLoc

Outputable RealSrcLoc # 
Instance details

Defined in SrcLoc

Outputable IdDetails # 
Instance details

Defined in IdInfo

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

Outputable OverlapMode # 
Instance details

Defined in BasicTypes

Outputable OverlapFlag # 
Instance details

Defined in BasicTypes

Outputable Origin # 
Instance details

Defined in BasicTypes

Outputable RecFlag # 
Instance details

Defined in BasicTypes

Outputable Boxity # 
Instance details

Defined in BasicTypes

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

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 LeftOrRight # 
Instance details

Defined in BasicTypes

Outputable Unique # 
Instance details

Defined in Unique

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

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

Outputable RealReg # 
Instance details

Defined in Reg

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

Outputable Header # 
Instance details

Defined in ForeignCall

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

Outputable ForeignCall # 
Instance details

Defined in ForeignCall

Outputable Phase # 
Instance details

Defined in DriverPhases

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

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

Outputable StgHalfWord # 
Instance details

Defined in SMRep

Outputable StgWord # 
Instance details

Defined in SMRep

Outputable ArgDocMap # 
Instance details

Defined in HsDoc

Outputable DeclDocMap # 
Instance details

Defined in HsDoc

Outputable HsDocString # 
Instance details

Defined in HsDoc

Outputable Annotation # 
Instance details

Defined in Annotations

Outputable CoreToDo # 
Instance details

Defined in CoreMonad

Outputable UnusablePackageReason # 
Instance details

Defined in Packages

Outputable ModuleOrigin # 
Instance details

Defined in Packages

Outputable ForeignHint # 
Instance details

Defined in PprCmmDecl

Outputable Width # 
Instance details

Defined in CmmType

Outputable CmmType # 
Instance details

Defined in CmmType

Outputable AvailInfo # 
Instance details

Defined in Avail

Outputable ImportSpec # 
Instance details

Defined in RdrName

Outputable Parent # 
Instance details

Defined in RdrName

Outputable GlobalRdrElt # 
Instance details

Defined in RdrName

Outputable LocalRdrEnv # 
Instance details

Defined in RdrName

Outputable RdrName # 
Instance details

Defined in RdrName

Outputable AnnotationComment # 
Instance details

Defined in ApiAnnotation

Outputable AnnKeywordId # 
Instance details

Defined in ApiAnnotation

Outputable Token # 
Instance details

Defined in Lexer

Outputable ArgFlag # 
Instance details

Defined in Var

Outputable Var # 
Instance details

Defined in Var

Methods

ppr :: Var -> SDoc Source #

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

Outputable PatSyn # 
Instance details

Defined in PatSyn

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 IfaceTcArgs # 
Instance details

Defined in IfaceType

Outputable NoExt # 
Instance details

Defined in HsExtension

Outputable EqSpec # 
Instance details

Defined in DataCon

Outputable DataCon # 
Instance details

Defined in DataCon

Outputable ConLike # 
Instance details

Defined in ConLike

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

Outputable CoAxBranch # 
Instance details

Defined in CoAxiom

Outputable LiftingContext # 
Instance details

Defined in Coercion

Outputable Class # 
Instance details

Defined in Class

Outputable TyConFlavour # 
Instance details

Defined in TyCon

Outputable PrimElemRep # 
Instance details

Defined in TyCon

Outputable PrimRep # 
Instance details

Defined in TyCon

Outputable FamTyConFlav # 
Instance details

Defined in TyCon

Outputable AlgTyConFlav # 
Instance details

Defined in TyCon

Outputable TyConBndrVis # 
Instance details

Defined in TyCon

Outputable IfaceBndr # 
Instance details

Defined in IfaceType

Outputable InScopeSet # 
Instance details

Defined in VarEnv

Outputable CoercionHole # 
Instance details

Defined in TyCoRep

Outputable EqRel # 
Instance details

Defined in Type

Outputable Literal # 
Instance details

Defined in Literal

Outputable LabelSet # 
Instance details

Defined in Hoopl.Label

Outputable Label # 
Instance details

Defined in Hoopl.Label

Outputable OverLitVal # 
Instance details

Defined in HsLit

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

Outputable StrictSig # 
Instance details

Defined in Demand

Outputable DmdType # 
Instance details

Defined in Demand

Outputable CPRResult # 
Instance details

Defined in Demand

Outputable TypeShape # 
Instance details

Defined in Demand

Outputable Count # 
Instance details

Defined in Demand

Outputable UseDmd # 
Instance details

Defined in Demand

Outputable StrDmd # 
Instance details

Defined in Demand

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

Outputable LevityInfo # 
Instance details

Defined in IdInfo

Outputable TickBoxOp # 
Instance details

Defined in IdInfo

Outputable CafInfo # 
Instance details

Defined in IdInfo

Outputable RecSelParent # 
Instance details

Defined in IdInfo

Outputable UnVarGraph # 
Instance details

Defined in UnVarGraph

Outputable UnVarSet # 
Instance details

Defined in UnVarGraph

Outputable PrimCall # 
Instance details

Defined in PrimOp

Outputable HsWildCardInfo # 
Instance details

Defined in HsTypes

Outputable HsTyLit # 
Instance details

Defined in HsTypes

Outputable NewHsTypeX # 
Instance details

Defined in HsTypes

Outputable HsIPName # 
Instance details

Defined in HsTypes

Outputable CgBreakInfo # 
Instance details

Defined in ByteCodeTypes

Outputable UnlinkedBCO # 
Instance details

Defined in ByteCodeTypes

Outputable CompiledByteCode # 
Instance details

Defined in ByteCodeTypes

Outputable CoreStats # 
Instance details

Defined in CoreStats

Outputable UpdateFlag # 
Instance details

Defined in StgSyn

Outputable AltType # 
Instance details

Defined in StgSyn

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

Outputable IfaceClassOp # 
Instance details

Defined in IfaceSyn

Outputable IfaceTyConParent # 
Instance details

Defined in IfaceSyn

Outputable IfaceDecl # 
Instance details

Defined in IfaceSyn

Outputable ForeignLabelSource # 
Instance details

Defined in CLabel

Outputable CLabel # 
Instance details

Defined in CLabel

Outputable GlobalReg # 
Instance details

Defined in PprCmmExpr

Outputable LocalReg # 
Instance details

Defined in PprCmmExpr

Outputable CmmLit # 
Instance details

Defined in PprCmmExpr

Outputable Area # 
Instance details

Defined in PprCmmExpr

Outputable CmmReg # 
Instance details

Defined in PprCmmExpr

Outputable CmmExpr # 
Instance details

Defined in PprCmmExpr

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

Outputable LlvmVar # 
Instance details

Defined in Llvm.Types

Outputable LlvmType # 
Instance details

Defined in Llvm.Types

Outputable MetaExpr # 
Instance details

Defined in Llvm.MetaData

Outputable MetaId # 
Instance details

Defined in Llvm.MetaData

Outputable LiveInfo # 
Instance details

Defined in RegAlloc.Liveness

Outputable Loc # 
Instance details

Defined in RegAlloc.Linear.Base

Methods

ppr :: Loc -> SDoc Source #

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

Outputable SpillStats # 
Instance details

Defined in RegAlloc.Graph.Spill

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

Outputable ParamLocation # 
Instance details

Defined in CmmCallConv

Outputable FamInstMatch # 
Instance details

Defined in FamInstEnv

Outputable FamInst # 
Instance details

Defined in FamInstEnv

Outputable CandidatesQTvs # 
Instance details

Defined in TcType

Outputable TcLevel # 
Instance details

Defined in TcType

Outputable InferResult # 
Instance details

Defined in TcType

Outputable ExpType # 
Instance details

Defined in TcType

Outputable CgLoc # 
Instance details

Defined in StgCmmClosure

Outputable Sequel # 
Instance details

Defined in StgCmmMonad

Outputable CgIdInfo # 
Instance details

Defined in StgCmmMonad

Outputable ArgRep # 
Instance details

Defined in StgCmmArgRep

Outputable ModuleSRTInfo # 
Instance details

Defined in CmmBuildInfoTables

Outputable ClsInst # 
Instance details

Defined in InstEnv

Outputable EvCallStack # 
Instance details

Defined in TcEvidence

Outputable EvTypeable # 
Instance details

Defined in TcEvidence

Outputable EvTerm # 
Instance details

Defined in TcEvidence

Outputable EvBind # 
Instance details

Defined in TcEvidence

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 HsBinds

Outputable DocDecl # 
Instance details

Defined in HsDecls

Outputable ForeignExport # 
Instance details

Defined in HsDecls

Outputable ForeignImport # 
Instance details

Defined in HsDecls

Outputable NewOrData # 
Instance details

Defined in HsDecls

Outputable PendingTcSplice # 
Instance details

Defined in HsExpr

Outputable PendingRnSplice # 
Instance details

Defined in HsExpr

Outputable SpliceDecoration # 
Instance details

Defined in HsExpr

Outputable UnboundVar # 
Instance details

Defined in HsExpr

Outputable PmLit # 
Instance details

Defined in PmExpr

Outputable PmExpr # 
Instance details

Defined in PmExpr

Outputable CompleteMatch # 
Instance details

Defined in HscTypes

Outputable Unlinked # 
Instance details

Defined in HscTypes

Outputable Linkable # 
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

Outputable Warnings # 
Instance details

Defined in LoadIface

Outputable InteractiveImport # 
Instance details

Defined in HscTypes

Outputable SptEntry # 
Instance details

Defined in HscTypes

Outputable TargetId # 
Instance details

Defined in HscTypes

Outputable Target # 
Instance details

Defined in HscTypes

Outputable TypeOrKind # 
Instance details

Defined in TcRnTypes

Outputable CtOrigin # 
Instance details

Defined in TcRnTypes

Outputable SkolemInfo # 
Instance details

Defined in TcRnTypes

Outputable SubGoalDepth # 
Instance details

Defined in TcRnTypes

Outputable CtFlavour # 
Instance details

Defined in TcRnTypes

Outputable CtEvidence # 
Instance details

Defined in TcRnTypes

Outputable TcEvDest # 
Instance details

Defined in TcRnTypes

Outputable ImplicStatus # 
Instance details

Defined in TcRnTypes

Outputable Implication # 
Instance details

Defined in TcRnTypes

Outputable WantedConstraints # 
Instance details

Defined in TcRnTypes

Outputable Hole # 
Instance details

Defined in TcRnTypes

Outputable QCInst # 
Instance details

Defined in TcRnTypes

Outputable Ct # 
Instance details

Defined in TcRnTypes

Methods

ppr :: Ct -> SDoc Source #

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

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

Outputable TcBinder # 
Instance details

Defined in TcRnTypes

Outputable PhasePlus # 
Instance details

Defined in PipelineMonad

Outputable PluginRecompile # 
Instance details

Defined in Plugins

Outputable HsComponentId # 
Instance details

Defined in BkpSyn

Outputable FloatBind # 
Instance details

Defined in MkCore

Outputable Subst # 
Instance details

Defined in CoreSubst

Outputable CallCtxt # 
Instance details

Defined in CoreUnfold

Outputable ArgSummary # 
Instance details

Defined in CoreUnfold

Outputable HsSigCtxt # 
Instance details

Defined in RnEnv

Outputable ChildLookupResult # 
Instance details

Defined in RnEnv

Outputable Tick # 
Instance details

Defined in CoreMonad

Outputable FloatOutSwitches # 
Instance details

Defined in CoreMonad

Outputable SimplMode # 
Instance details

Defined in CoreMonad

Outputable LetFloats # 
Instance details

Defined in SimplEnv

Outputable SimplSR # 
Instance details

Defined in SimplEnv

Outputable SimplFloats # 
Instance details

Defined in SimplEnv

Outputable ArgSpec # 
Instance details

Defined in SimplUtils

Outputable DupFlag # 
Instance details

Defined in SimplUtils

Outputable SimplCont # 
Instance details

Defined in SimplUtils

Outputable FloatSpec # 
Instance details

Defined in SetLevels

Outputable Level # 
Instance details

Defined in SetLevels

Outputable BCInstr # 
Instance details

Defined in ByteCodeInstr

Outputable EquationInfo # 
Instance details

Defined in DsMonad

Outputable DsMatchContext # 
Instance details

Defined in DsMonad

Outputable Term # 
Instance details

Defined in RtClosureInspect

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 LetBndrSpec # 
Instance details

Defined in TcPat

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 DerivEnv # 
Instance details

Defined in TcDerivUtils

Outputable Instr # 
Instance details

Defined in X86.Ppr

Outputable Instr # 
Instance details

Defined in SPARC.Ppr

Outputable Instr # 
Instance details

Defined in PPC.Ppr

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

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

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

Defined in Outputable

Methods

ppr :: Maybe a -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: IntMap elt -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: SCC a -> SDoc Source #

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

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

Defined in Outputable

Methods

ppr :: Set a -> SDoc Source #

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

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

Defined in Pair

Methods

ppr :: Pair a -> SDoc Source #

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

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

Defined in OrdList

Outputable (DefMethSpec ty) # 
Instance details

Defined in BasicTypes

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

Defined in UniqFM

Methods

ppr :: UniqFM a -> SDoc Source #

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

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

Defined in UniqSet

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

Defined in UniqDFM

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

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

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

Defined in Bag

Methods

ppr :: Bag a -> SDoc Source #

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

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

Defined in OccName

Methods

ppr :: OccEnv a -> SDoc Source #

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

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

Defined in FieldLabel

Outputable name => Outputable (AnnTarget name) # 
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) # 
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) # 
Instance details

Defined in HsImpExp

Methods

ppr :: IE p -> SDoc Source #

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

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

Defined in HsImpExp

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

Defined in HsImpExp

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

Defined in HsExpr

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

Defined in HsExpr

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsCmd p) # 
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) # 
Instance details

Defined in HsExpr

Methods

ppr :: HsExpr p -> SDoc Source #

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

Outputable (CoAxiom br) # 
Instance details

Defined in CoAxiom

Methods

ppr :: CoAxiom br -> SDoc Source #

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

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

Defined in Hoopl.Label

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

Defined in HsLit

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

Defined in HsLit

Methods

ppr :: HsLit p -> SDoc Source #

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

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

Defined in Unify

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

Defined in CoreSyn

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

Defined in PprCore

Methods

ppr :: Tickish id -> SDoc Source #

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

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

Defined in PprCore

Methods

ppr :: Bind b -> SDoc Source #

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

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

Defined in PprCore

Methods

ppr :: Expr b -> SDoc Source #

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

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

Defined in HsTypes

Outputable (FieldOcc pass) # 
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) # 
Instance details

Defined in HsTypes

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsType p) # 
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) # 
Instance details

Defined in HsTypes

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

Defined in HsTypes

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

Defined in StgSyn

Methods

ppr :: GenStgArg bdee -> SDoc Source #

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

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

Defined in Cmm

Methods

ppr :: ListGraph instr -> SDoc Source #

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

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

Defined in Cmm

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

Defined in RegAlloc.Liveness

Methods

ppr :: LiveInstr instr -> SDoc Source #

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

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

Defined in RegAlloc.Liveness

Methods

ppr :: InstrSR instr -> SDoc Source #

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

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

Defined in CoreMap

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

Defined in StgCmmClosure

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

Defined in HsBinds

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

Defined in HsBinds

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (Sig p) # 
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) # 
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) # 
Instance details

Defined in HsBinds

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

Defined in HsBinds

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

Outputable (FamilyInfo pass) # 
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) # 
Instance details

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

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

Defined in HsDecls

(p ~ GhcPass pass, OutputableBndrId p) => Outputable (HsDecl p) # 
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) # 
Instance details

Defined in HsExpr

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

Defined in HsExpr

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

Defined in HsExpr

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

Defined in HsExpr

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

Defined in HsExpr

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

Defined in HsExpr

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

Defined in HsSyn

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

Defined in TcEnv

Outputable (FunDepEqn a) # 
Instance details

Defined in FunDeps

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

Defined in ByteCodeInstr

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

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

(Outputable a, Outputable b) => Outputable (Either a b) # 
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) # 
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) # 
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) # 
Instance details

Defined in SrcLoc

(Outputable k, Outputable a) => Outputable (UniqMap k a) # 
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) # 
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) # 
Instance details

Defined in Var

Outputable tv => Outputable (TyVarBndr 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 Source #

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

(TrieMap m, Outputable a) => Outputable (ListMap m a) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
Instance details

Defined in StgSyn

Methods

ppr :: GenStgTopBinding bndr bdee -> SDoc Source #

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

Outputable (CmmNode e x) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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) # 
Instance details

Defined in Outputable

Methods

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

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

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

(Outputable d, Outputable info, Outputable i) => Outputable (GenCmmDecl d info i) # 
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) # 
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) # 
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) # 
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) # 
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) # 
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 # 
Instance details

Defined in Name

OutputableBndr OccName # 
Instance details

Defined in OccName

OutputableBndr RdrName # 
Instance details

Defined in RdrName

OutputableBndr Var # 
Instance details

Defined in PprCore

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 HsTypes

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

Defined in HsImpExp

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

Defined in PprCore

p ~ GhcPass pass => OutputableBndr (AmbiguousFieldOcc p) # 
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 # 
Instance details

Defined in Outputable

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 # 
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 an original name, this function tells you which module name it should be qualified with when printing for the user, if any. For example, given Control.Exception.catch, which is in scope as Exception.catch, this function will return Just Exception. Note that the return value is a ModuleName, not a Module, because in source code, names are qualified by ModuleNames.

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