ghc-8.0.2: The GHC API

Safe Haskell | None
Language | Haskell2010

Outputable

Contents

- Type classes
- Pretty printing combinators
- Converting `SDoc` into strings and outputing it
- Controlling the style in which output is printed
- Error handling and debugging utilities

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

- class Outputable a where
- class Outputable a => OutputableBndr a where
- data SDoc
- runSDoc :: SDoc -> SDocContext -> Doc
- initSDocContext :: DynFlags -> PprStyle -> SDocContext
- docToSDoc :: Doc -> SDoc
- interppSP :: Outputable a => [a] -> SDoc
- interpp'SP :: Outputable a => [a] -> SDoc
- pprQuotedList :: Outputable a => [a] -> SDoc
- pprWithCommas :: (a -> SDoc) -> [a] -> SDoc
- quotedListWithOr :: [SDoc] -> SDoc
- quotedListWithNor :: [SDoc] -> SDoc
- empty :: SDoc
- isEmpty :: DynFlags -> SDoc -> Bool
- nest :: Int -> SDoc -> SDoc
- char :: Char -> SDoc
- text :: String -> SDoc
- ftext :: FastString -> SDoc
- ptext :: LitString -> SDoc
- ztext :: FastZString -> SDoc
- int :: Int -> SDoc
- intWithCommas :: Integral a => a -> SDoc
- integer :: Integer -> SDoc
- float :: Float -> SDoc
- double :: Double -> SDoc
- rational :: Rational -> SDoc
- doublePrec :: Int -> Double -> SDoc
- parens :: SDoc -> SDoc
- cparen :: Bool -> SDoc -> SDoc
- brackets :: SDoc -> SDoc
- braces :: SDoc -> SDoc
- quotes :: SDoc -> SDoc
- quote :: SDoc -> SDoc
- doubleQuotes :: SDoc -> SDoc
- angleBrackets :: SDoc -> SDoc
- paBrackets :: SDoc -> SDoc
- semi :: SDoc
- comma :: SDoc
- colon :: SDoc
- dcolon :: SDoc
- space :: SDoc
- equals :: SDoc
- dot :: SDoc
- vbar :: SDoc
- arrow :: SDoc
- larrow :: SDoc
- darrow :: SDoc
- arrowt :: SDoc
- larrowt :: SDoc
- arrowtt :: SDoc
- larrowtt :: SDoc
- lparen :: SDoc
- rparen :: SDoc
- lbrack :: SDoc
- rbrack :: SDoc
- lbrace :: SDoc
- rbrace :: SDoc
- underscore :: SDoc
- blankLine :: SDoc
- forAllLit :: SDoc
- (<>) :: SDoc -> SDoc -> SDoc
- (<+>) :: SDoc -> SDoc -> SDoc
- hcat :: [SDoc] -> SDoc
- hsep :: [SDoc] -> SDoc
- ($$) :: SDoc -> SDoc -> SDoc
- ($+$) :: SDoc -> SDoc -> SDoc
- vcat :: [SDoc] -> SDoc
- sep :: [SDoc] -> SDoc
- cat :: [SDoc] -> SDoc
- fsep :: [SDoc] -> SDoc
- fcat :: [SDoc] -> SDoc
- hang :: SDoc -> Int -> SDoc -> SDoc
- hangNotEmpty :: SDoc -> Int -> SDoc -> SDoc
- punctuate :: SDoc -> [SDoc] -> [SDoc]
- ppWhen :: Bool -> SDoc -> SDoc
- ppUnless :: Bool -> SDoc -> SDoc
- speakNth :: Int -> SDoc
- speakN :: Int -> SDoc
- speakNOf :: Int -> SDoc -> SDoc
- plural :: [a] -> SDoc
- isOrAre :: [a] -> SDoc
- doOrDoes :: [a] -> SDoc
- unicodeSyntax :: SDoc -> SDoc -> SDoc
- coloured :: PprColour -> SDoc -> SDoc
- data PprColour
- colType :: PprColour
- colCoerc :: PprColour
- colDataCon :: PprColour
- colBinder :: PprColour
- bold :: SDoc -> SDoc
- keyword :: SDoc -> SDoc
- printForC :: DynFlags -> Handle -> SDoc -> IO ()
- printForAsm :: DynFlags -> Handle -> SDoc -> IO ()
- printForUser :: DynFlags -> Handle -> PrintUnqualified -> SDoc -> IO ()
- printForUserPartWay :: DynFlags -> Handle -> Int -> PrintUnqualified -> SDoc -> IO ()
- pprCode :: CodeStyle -> SDoc -> SDoc
- mkCodeStyle :: CodeStyle -> PprStyle
- showSDoc :: DynFlags -> SDoc -> String
- showSDocUnsafe :: SDoc -> String
- showSDocOneLine :: DynFlags -> SDoc -> String
- showSDocForUser :: DynFlags -> PrintUnqualified -> SDoc -> String
- showSDocDebug :: DynFlags -> SDoc -> String
- showSDocDump :: DynFlags -> SDoc -> String
- showSDocDumpOneLine :: DynFlags -> SDoc -> String
- showSDocUnqual :: DynFlags -> SDoc -> String
- showPpr :: Outputable a => DynFlags -> a -> String
- renderWithStyle :: DynFlags -> SDoc -> PprStyle -> String
- pprInfixVar :: Bool -> SDoc -> SDoc
- pprPrefixVar :: Bool -> SDoc -> SDoc
- pprHsChar :: Char -> SDoc
- pprHsString :: FastString -> SDoc
- pprHsBytes :: ByteString -> SDoc
- primFloatSuffix :: SDoc
- primDoubleSuffix :: SDoc
- pprPrimChar :: Char -> SDoc
- pprPrimInt :: Integer -> SDoc
- pprPrimWord :: Integer -> SDoc
- pprPrimInt64 :: Integer -> SDoc
- pprPrimWord64 :: Integer -> SDoc
- pprFastFilePath :: FastString -> SDoc
- data BindingSite
  - = LambdaBind
  - | CaseBind
  - | LetBind
- data PprStyle
- data CodeStyle
  - = CStyle
  - | AsmStyle
- data PrintUnqualified = QueryQualify {
  - queryQualifyName :: QueryQualifyName
  - queryQualifyModule :: QueryQualifyModule
  - queryQualifyPackage :: QueryQualifyPackage
  }
- type QueryQualifyName = Module -> OccName -> QualifyName
- type QueryQualifyModule = Module -> Bool
- type QueryQualifyPackage = UnitId -> Bool
- reallyAlwaysQualify :: PrintUnqualified
- reallyAlwaysQualifyNames :: QueryQualifyName
- alwaysQualify :: PrintUnqualified
- alwaysQualifyNames :: QueryQualifyName
- alwaysQualifyModules :: QueryQualifyModule
- neverQualify :: PrintUnqualified
- neverQualifyNames :: QueryQualifyName
- neverQualifyModules :: QueryQualifyModule
- alwaysQualifyPackages :: QueryQualifyPackage
- neverQualifyPackages :: QueryQualifyPackage
- data QualifyName
  - = NameUnqual
  - | NameQual ModuleName
  - | NameNotInScope1
  - | NameNotInScope2
- queryQual :: PprStyle -> PrintUnqualified
- sdocWithDynFlags :: (DynFlags -> SDoc) -> SDoc
- sdocWithPlatform :: (Platform -> SDoc) -> SDoc
- getPprStyle :: (PprStyle -> SDoc) -> SDoc
- withPprStyle :: PprStyle -> SDoc -> SDoc
- withPprStyleDoc :: DynFlags -> PprStyle -> SDoc -> Doc
- pprDeeper :: SDoc -> SDoc
- pprDeeperList :: ([SDoc] -> SDoc) -> [SDoc] -> SDoc
- pprSetDepth :: Depth -> SDoc -> SDoc
- codeStyle :: PprStyle -> Bool
- userStyle :: PprStyle -> Bool
- debugStyle :: PprStyle -> Bool
- dumpStyle :: PprStyle -> Bool
- asmStyle :: PprStyle -> Bool
- ifPprDebug :: SDoc -> SDoc
- qualName :: PprStyle -> QueryQualifyName
- qualModule :: PprStyle -> QueryQualifyModule
- qualPackage :: PprStyle -> QueryQualifyPackage
- mkErrStyle :: DynFlags -> PrintUnqualified -> PprStyle
- defaultErrStyle :: DynFlags -> PprStyle
- defaultDumpStyle :: PprStyle
- mkDumpStyle :: PrintUnqualified -> PprStyle
- defaultUserStyle :: PprStyle
- mkUserStyle :: PrintUnqualified -> Depth -> PprStyle
- cmdlineParserStyle :: PprStyle
- data Depth
  - = AllTheWay
  - | PartWay Int
- pprPanic :: String -> SDoc -> a
- pprSorry :: String -> SDoc -> a
- assertPprPanic :: (?callStack :: CallStack) => String -> Int -> SDoc -> a
- pprPgmError :: String -> SDoc -> a
- pprTrace :: String -> SDoc -> a -> a
- pprTraceIt :: Outputable a => String -> a -> a
- warnPprTrace :: Bool -> String -> Int -> SDoc -> a -> a
- pprSTrace :: (?callStack :: CallStack) => SDoc -> a -> a
- trace :: String -> a -> a
- pgmError :: String -> a
- panic :: String -> a
- sorry :: String -> a
- assertPanic :: String -> Int -> a
- pprDebugAndThen :: DynFlags -> (String -> a) -> SDoc -> SDoc -> a

# Type classes

class Outputable a where Source #

Class designating that some type has an `SDoc` representation

Methods

ppr :: a -> SDoc Source #

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

Instances

Outputable Bool # |
Methods ppr :: Bool -> SDoc Source # pprPrec :: Rational -> Bool -> SDoc Source #
Outputable Char # |
Methods ppr :: Char -> SDoc Source # pprPrec :: Rational -> Char -> SDoc Source #
Outputable Int # |
Methods ppr :: Int -> SDoc Source # pprPrec :: Rational -> Int -> SDoc Source #
Outputable Int32 # |
Methods ppr :: Int32 -> SDoc Source # pprPrec :: Rational -> Int32 -> SDoc Source #
Outputable Int64 # |
Methods ppr :: Int64 -> SDoc Source # pprPrec :: Rational -> Int64 -> SDoc Source #
Outputable Ordering # |
Methods ppr :: Ordering -> SDoc Source # pprPrec :: Rational -> Ordering -> SDoc Source #
Outputable Word # |
Methods ppr :: Word -> SDoc Source # pprPrec :: Rational -> Word -> SDoc Source #
Outputable Word16 # |
Methods ppr :: Word16 -> SDoc Source # pprPrec :: Rational -> Word16 -> SDoc Source #
Outputable Word32 # |
Methods ppr :: Word32 -> SDoc Source # pprPrec :: Rational -> Word32 -> SDoc Source #
Outputable () # |
Methods ppr :: () -> SDoc Source # pprPrec :: Rational -> () -> SDoc Source #
Outputable Fingerprint # |
Methods ppr :: Fingerprint -> SDoc Source # pprPrec :: Rational -> Fingerprint -> SDoc Source #
Outputable Serialized # |
Methods ppr :: Serialized -> SDoc Source # pprPrec :: Rational -> Serialized -> SDoc Source #
Outputable PrimOp # |
Methods ppr :: PrimOp -> SDoc Source # pprPrec :: Rational -> PrimOp -> SDoc Source #
Outputable OccName # |
Methods ppr :: OccName -> SDoc Source # pprPrec :: Rational -> OccName -> SDoc Source #
Outputable UnitId # |
Methods ppr :: UnitId -> SDoc Source # pprPrec :: Rational -> UnitId -> SDoc Source #
Outputable ModuleName # |
Methods ppr :: ModuleName -> SDoc Source # pprPrec :: Rational -> ModuleName -> SDoc Source #
Outputable Module # |
Methods ppr :: Module -> SDoc Source # pprPrec :: Rational -> Module -> SDoc Source #
Outputable Name # |
Methods ppr :: Name -> SDoc Source # pprPrec :: Rational -> Name -> SDoc Source #
Outputable FastString # |
Methods ppr :: FastString -> SDoc Source # pprPrec :: Rational -> FastString -> SDoc Source #
Outputable PprStyle # |
Methods ppr :: PprStyle -> SDoc Source # pprPrec :: Rational -> PprStyle -> SDoc Source #
Outputable IdDetails # |
Methods ppr :: IdDetails -> SDoc Source # pprPrec :: Rational -> IdDetails -> SDoc Source #
Outputable SrcSpan # |
Methods ppr :: SrcSpan -> SDoc Source # pprPrec :: Rational -> SrcSpan -> SDoc Source #
Outputable RealSrcSpan # |
Methods ppr :: RealSrcSpan -> SDoc Source # pprPrec :: Rational -> RealSrcSpan -> SDoc Source #
Outputable SrcLoc # |
Methods ppr :: SrcLoc -> SDoc Source # pprPrec :: Rational -> SrcLoc -> SDoc Source #
Outputable RealSrcLoc # |
Methods ppr :: RealSrcLoc -> SDoc Source # pprPrec :: Rational -> RealSrcLoc -> SDoc Source #
Outputable HsDocString # |
Methods ppr :: HsDocString -> SDoc Source # pprPrec :: Rational -> HsDocString -> SDoc Source #
Outputable MetaDetails # |
Methods ppr :: MetaDetails -> SDoc Source # pprPrec :: Rational -> MetaDetails -> SDoc Source #
Outputable TCvSubst # |
Methods ppr :: TCvSubst -> SDoc Source # pprPrec :: Rational -> TCvSubst -> SDoc Source #
Outputable UnivCoProvenance # |
Methods ppr :: UnivCoProvenance -> SDoc Source # pprPrec :: Rational -> UnivCoProvenance -> SDoc Source #
Outputable LeftOrRight # |
Methods ppr :: LeftOrRight -> SDoc Source # pprPrec :: Rational -> LeftOrRight -> SDoc Source #
Outputable Coercion # |
Methods ppr :: Coercion -> SDoc Source # pprPrec :: Rational -> Coercion -> SDoc Source #
Outputable TyThing # |
Methods ppr :: TyThing -> SDoc Source # pprPrec :: Rational -> TyThing -> SDoc Source #
Outputable TyBinder # |
Methods ppr :: TyBinder -> SDoc Source # pprPrec :: Rational -> TyBinder -> SDoc Source #
Outputable Type # |
Methods ppr :: Type -> SDoc Source # pprPrec :: Rational -> Type -> SDoc Source #
Outputable IntWithInf # |
Methods ppr :: IntWithInf -> SDoc Source # pprPrec :: Rational -> IntWithInf -> SDoc Source #
Outputable FractionalLit # |
Methods ppr :: FractionalLit -> SDoc Source # pprPrec :: Rational -> FractionalLit -> SDoc Source #
Outputable InlineSpec # |
Methods ppr :: InlineSpec -> SDoc Source # pprPrec :: Rational -> InlineSpec -> SDoc Source #
Outputable InlinePragma # |
Methods ppr :: InlinePragma -> SDoc Source # pprPrec :: Rational -> InlinePragma -> SDoc Source #
Outputable RuleMatchInfo # |
Methods ppr :: RuleMatchInfo -> SDoc Source # pprPrec :: Rational -> RuleMatchInfo -> SDoc Source #
Outputable Activation # |
Methods ppr :: Activation -> SDoc Source # pprPrec :: Rational -> Activation -> SDoc Source #
Outputable CompilerPhase # |
Methods ppr :: CompilerPhase -> SDoc Source # pprPrec :: Rational -> CompilerPhase -> SDoc Source #
Outputable SuccessFlag # |
Methods ppr :: SuccessFlag -> SDoc Source # pprPrec :: Rational -> SuccessFlag -> SDoc Source #
Outputable OccInfo # |
Methods ppr :: OccInfo -> SDoc Source # pprPrec :: Rational -> OccInfo -> SDoc Source #
Outputable OverlapMode # |
Methods ppr :: OverlapMode -> SDoc Source # pprPrec :: Rational -> OverlapMode -> SDoc Source #
Outputable OverlapFlag # |
Methods ppr :: OverlapFlag -> SDoc Source # pprPrec :: Rational -> OverlapFlag -> SDoc Source #
Outputable Origin # |
Methods ppr :: Origin -> SDoc Source # pprPrec :: Rational -> Origin -> SDoc Source #
Outputable RecFlag # |
Methods ppr :: RecFlag -> SDoc Source # pprPrec :: Rational -> RecFlag -> SDoc Source #
Outputable Boxity # |
Methods ppr :: Boxity -> SDoc Source # pprPrec :: Rational -> Boxity -> SDoc Source #
Outputable TopLevelFlag # |
Methods ppr :: TopLevelFlag -> SDoc Source # pprPrec :: Rational -> TopLevelFlag -> SDoc Source #
Outputable FixityDirection # |
Methods ppr :: FixityDirection -> SDoc Source # pprPrec :: Rational -> FixityDirection -> SDoc Source #
Outputable Fixity # |
Methods ppr :: Fixity -> SDoc Source # pprPrec :: Rational -> Fixity -> SDoc Source #
Outputable WarningTxt # |
Methods ppr :: WarningTxt -> SDoc Source # pprPrec :: Rational -> WarningTxt -> SDoc Source #
Outputable FunctionOrData # |
Methods ppr :: FunctionOrData -> SDoc Source # pprPrec :: Rational -> FunctionOrData -> SDoc Source #
Outputable SwapFlag # |
Methods ppr :: SwapFlag -> SDoc Source # pprPrec :: Rational -> SwapFlag -> SDoc Source #
Outputable OneShotInfo # |
Methods ppr :: OneShotInfo -> SDoc Source # pprPrec :: Rational -> OneShotInfo -> SDoc Source #
Outputable Unique # |
Methods ppr :: Unique -> SDoc Source # pprPrec :: Rational -> Unique -> SDoc Source #
Outputable RegClass # |
Methods ppr :: RegClass -> SDoc Source # pprPrec :: Rational -> RegClass -> SDoc Source #
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.
Methods ppr :: Reg -> SDoc Source # pprPrec :: Rational -> Reg -> SDoc Source #
Outputable RealReg # |
Methods ppr :: RealReg -> SDoc Source # pprPrec :: Rational -> RealReg -> SDoc Source #
Outputable VirtualReg # |
Methods ppr :: VirtualReg -> SDoc Source # pprPrec :: Rational -> VirtualReg -> SDoc Source #
Outputable Phase # |
Methods ppr :: Phase -> SDoc Source # pprPrec :: Rational -> Phase -> SDoc Source #
Outputable ModLocation # |
Methods ppr :: ModLocation -> SDoc Source # pprPrec :: Rational -> ModLocation -> SDoc Source #
Outputable CType # |
Methods ppr :: CType -> SDoc Source # pprPrec :: Rational -> CType -> SDoc Source #
Outputable Header # |
Methods ppr :: Header -> SDoc Source # pprPrec :: Rational -> Header -> SDoc Source #
Outputable CCallConv # |
Methods ppr :: CCallConv -> SDoc Source # pprPrec :: Rational -> CCallConv -> SDoc Source #
Outputable CCallSpec # |
Methods ppr :: CCallSpec -> SDoc Source # pprPrec :: Rational -> CCallSpec -> SDoc Source #
Outputable CExportSpec # |
Methods ppr :: CExportSpec -> SDoc Source # pprPrec :: Rational -> CExportSpec -> SDoc Source #
Outputable Safety # |
Methods ppr :: Safety -> SDoc Source # pprPrec :: Rational -> Safety -> SDoc Source #
Outputable ForeignCall # |
Methods ppr :: ForeignCall -> SDoc Source # pprPrec :: Rational -> ForeignCall -> SDoc Source #
Outputable PackageName # |
Methods ppr :: PackageName -> SDoc Source # pprPrec :: Rational -> PackageName -> SDoc Source #
Outputable SourcePackageId # |
Methods ppr :: SourcePackageId -> SDoc Source # pprPrec :: Rational -> SourcePackageId -> SDoc Source #
Outputable ComponentId # |
Methods ppr :: ComponentId -> SDoc Source # pprPrec :: Rational -> ComponentId -> SDoc Source #
Outputable GhcMode # |
Methods ppr :: GhcMode -> SDoc Source # pprPrec :: Rational -> GhcMode -> SDoc Source #
Outputable SafeHaskellMode # |
Methods ppr :: SafeHaskellMode -> SDoc Source # pprPrec :: Rational -> SafeHaskellMode -> SDoc Source #
Outputable Width # |
Methods ppr :: Width -> SDoc Source # pprPrec :: Rational -> Width -> SDoc Source #
Outputable CmmType # |
Methods ppr :: CmmType -> SDoc Source # pprPrec :: Rational -> CmmType -> SDoc Source #
Outputable ArgDescr # |
Methods ppr :: ArgDescr -> SDoc Source # pprPrec :: Rational -> ArgDescr -> SDoc Source #
Outputable ClosureTypeInfo # |
Methods ppr :: ClosureTypeInfo -> SDoc Source # pprPrec :: Rational -> ClosureTypeInfo -> SDoc Source #
Outputable SMRep # |
Methods ppr :: SMRep -> SDoc Source # pprPrec :: Rational -> SMRep -> SDoc Source #
Outputable StgHalfWord # |
Methods ppr :: StgHalfWord -> SDoc Source # pprPrec :: Rational -> StgHalfWord -> SDoc Source #
Outputable StgWord # |
Methods ppr :: StgWord -> SDoc Source # pprPrec :: Rational -> StgWord -> SDoc Source #
Outputable TyCon # |
Methods ppr :: TyCon -> SDoc Source # pprPrec :: Rational -> TyCon -> SDoc Source #
Outputable Var # |
Methods ppr :: Var -> SDoc Source # pprPrec :: Rational -> Var -> SDoc Source #
Outputable CoAxiomRule # |
Methods ppr :: CoAxiomRule -> SDoc Source # pprPrec :: Rational -> CoAxiomRule -> SDoc Source #
Outputable Role # |
Methods ppr :: Role -> SDoc Source # pprPrec :: Rational -> Role -> SDoc Source #
Outputable CoAxBranch # |
Methods ppr :: CoAxBranch -> SDoc Source # pprPrec :: Rational -> CoAxBranch -> SDoc Source #
Outputable LiftingContext # |
Methods ppr :: LiftingContext -> SDoc Source # pprPrec :: Rational -> LiftingContext -> SDoc Source #
Outputable CostCentreStack # |
Methods ppr :: CostCentreStack -> SDoc Source # pprPrec :: Rational -> CostCentreStack -> SDoc Source #
Outputable CostCentre # |
Methods ppr :: CostCentre -> SDoc Source # pprPrec :: Rational -> CostCentre -> SDoc Source #
Outputable EqSpec # |
Methods ppr :: EqSpec -> SDoc Source # pprPrec :: Rational -> EqSpec -> SDoc Source #
Outputable DataCon # |
Methods ppr :: DataCon -> SDoc Source # pprPrec :: Rational -> DataCon -> SDoc Source #
Outputable PatSyn # |
Methods ppr :: PatSyn -> SDoc Source # pprPrec :: Rational -> PatSyn -> SDoc Source #
Outputable ConLike # |
Methods ppr :: ConLike -> SDoc Source # pprPrec :: Rational -> ConLike -> SDoc Source #
Outputable InScopeSet # |
Methods ppr :: InScopeSet -> SDoc Source # pprPrec :: Rational -> InScopeSet -> SDoc Source #
Outputable ModuleOrigin # |
Methods ppr :: ModuleOrigin -> SDoc Source # pprPrec :: Rational -> ModuleOrigin -> SDoc Source #
Outputable AvailInfo # |
Methods ppr :: AvailInfo -> SDoc Source # pprPrec :: Rational -> AvailInfo -> SDoc Source #
Outputable ImportSpec # |
Methods ppr :: ImportSpec -> SDoc Source # pprPrec :: Rational -> ImportSpec -> SDoc Source #
Outputable Parent # |
Methods ppr :: Parent -> SDoc Source # pprPrec :: Rational -> Parent -> SDoc Source #
Outputable GlobalRdrElt # |
Methods ppr :: GlobalRdrElt -> SDoc Source # pprPrec :: Rational -> GlobalRdrElt -> SDoc Source #
Outputable LocalRdrEnv # |
Methods ppr :: LocalRdrEnv -> SDoc Source # pprPrec :: Rational -> LocalRdrEnv -> SDoc Source #
Outputable RdrName # |
Methods ppr :: RdrName -> SDoc Source # pprPrec :: Rational -> RdrName -> SDoc Source #
Outputable Class # |
Methods ppr :: Class -> SDoc Source # pprPrec :: Rational -> Class -> SDoc Source #
Outputable PrimElemRep # |
Methods ppr :: PrimElemRep -> SDoc Source # pprPrec :: Rational -> PrimElemRep -> SDoc Source #
Outputable PrimRep # |
Methods ppr :: PrimRep -> SDoc Source # pprPrec :: Rational -> PrimRep -> SDoc Source #
Outputable AlgTyConFlav # |
Methods ppr :: AlgTyConFlav -> SDoc Source # pprPrec :: Rational -> AlgTyConFlav -> SDoc Source #
Outputable CoercionHole # |
Methods ppr :: CoercionHole -> SDoc Source # pprPrec :: Rational -> CoercionHole -> SDoc Source #
Outputable VisibilityFlag # |
Methods ppr :: VisibilityFlag -> SDoc Source # pprPrec :: Rational -> VisibilityFlag -> SDoc Source #
Outputable RepType # |
Methods ppr :: RepType -> SDoc Source # pprPrec :: Rational -> RepType -> SDoc Source #
Outputable EqRel # |
Methods ppr :: EqRel -> SDoc Source # pprPrec :: Rational -> EqRel -> SDoc Source #
Outputable Literal # |
Methods ppr :: Literal -> SDoc Source # pprPrec :: Rational -> Literal -> SDoc Source #
Outputable StrictnessMark # |
Methods ppr :: StrictnessMark -> SDoc Source # pprPrec :: Rational -> StrictnessMark -> SDoc Source #
Outputable SrcUnpackedness # |
Methods ppr :: SrcUnpackedness -> SDoc Source # pprPrec :: Rational -> SrcUnpackedness -> SDoc Source #
Outputable SrcStrictness # |
Methods ppr :: SrcStrictness -> SDoc Source # pprPrec :: Rational -> SrcStrictness -> SDoc Source #
Outputable HsImplBang # |
Methods ppr :: HsImplBang -> SDoc Source # pprPrec :: Rational -> HsImplBang -> SDoc Source #
Outputable HsSrcBang # |
Methods ppr :: HsSrcBang -> SDoc Source # pprPrec :: Rational -> HsSrcBang -> SDoc Source #
Outputable AltCon # |
Methods ppr :: AltCon -> SDoc Source # pprPrec :: Rational -> AltCon -> SDoc Source #
Outputable StrictSig # |
Methods ppr :: StrictSig -> SDoc Source # pprPrec :: Rational -> StrictSig -> SDoc Source #
Outputable DmdType # |
Methods ppr :: DmdType -> SDoc Source # pprPrec :: Rational -> DmdType -> SDoc Source #
Outputable CPRResult # |
Methods ppr :: CPRResult -> SDoc Source # pprPrec :: Rational -> CPRResult -> SDoc Source #
Outputable TypeShape # |
Methods ppr :: TypeShape -> SDoc Source # pprPrec :: Rational -> TypeShape -> SDoc Source #
Outputable Count # |
Methods ppr :: Count -> SDoc Source # pprPrec :: Rational -> Count -> SDoc Source #
Outputable UseDmd # |
Methods ppr :: UseDmd -> SDoc Source # pprPrec :: Rational -> UseDmd -> SDoc Source #
Outputable StrDmd # |
Methods ppr :: StrDmd -> SDoc Source # pprPrec :: Rational -> StrDmd -> SDoc Source #
Outputable TickBoxOp # |
Methods ppr :: TickBoxOp -> SDoc Source # pprPrec :: Rational -> TickBoxOp -> SDoc Source #
Outputable CafInfo # |
Methods ppr :: CafInfo -> SDoc Source # pprPrec :: Rational -> CafInfo -> SDoc Source #
Outputable RecSelParent # |
Methods ppr :: RecSelParent -> SDoc Source # pprPrec :: Rational -> RecSelParent -> SDoc Source #
Outputable CoreStats # |
Methods ppr :: CoreStats -> SDoc Source # pprPrec :: Rational -> CoreStats -> SDoc Source #
Outputable UnVarGraph # |
Methods ppr :: UnVarGraph -> SDoc Source # pprPrec :: Rational -> UnVarGraph -> SDoc Source #
Outputable UnVarSet # |
Methods ppr :: UnVarSet -> SDoc Source # pprPrec :: Rational -> UnVarSet -> SDoc Source #
Outputable FamInstMatch # |
Methods ppr :: FamInstMatch -> SDoc Source # pprPrec :: Rational -> FamInstMatch -> SDoc Source #
Outputable FamInst # |
Methods ppr :: FamInst -> SDoc Source # pprPrec :: Rational -> FamInst -> SDoc Source #
Outputable PrimCall # |
Methods ppr :: PrimCall -> SDoc Source # pprPrec :: Rational -> PrimCall -> SDoc Source #
Outputable CgBreakInfo # |
Methods ppr :: CgBreakInfo -> SDoc Source # pprPrec :: Rational -> CgBreakInfo -> SDoc Source #
Outputable UnlinkedBCO # |
Methods ppr :: UnlinkedBCO -> SDoc Source # pprPrec :: Rational -> UnlinkedBCO -> SDoc Source #
Outputable CompiledByteCode # |
Methods ppr :: CompiledByteCode -> SDoc Source # pprPrec :: Rational -> CompiledByteCode -> SDoc Source #
Outputable ForeignLabelSource # |
Methods ppr :: ForeignLabelSource -> SDoc Source # pprPrec :: Rational -> ForeignLabelSource -> SDoc Source #
Outputable CLabel # |
Methods ppr :: CLabel -> SDoc Source # pprPrec :: Rational -> CLabel -> SDoc Source #
Outputable CmmTickScope # |
Methods ppr :: CmmTickScope -> SDoc Source # pprPrec :: Rational -> CmmTickScope -> SDoc Source #
Outputable UnwindExpr # |
Methods ppr :: UnwindExpr -> SDoc Source # pprPrec :: Rational -> UnwindExpr -> SDoc Source #
Outputable DebugBlock # |
Methods ppr :: DebugBlock -> SDoc Source # pprPrec :: Rational -> DebugBlock -> SDoc Source #
Outputable LlvmCastOp # |
Methods ppr :: LlvmCastOp -> SDoc Source # pprPrec :: Rational -> LlvmCastOp -> SDoc Source #
Outputable LlvmCmpOp # |
Methods ppr :: LlvmCmpOp -> SDoc Source # pprPrec :: Rational -> LlvmCmpOp -> SDoc Source #
Outputable LlvmMachOp # |
Methods ppr :: LlvmMachOp -> SDoc Source # pprPrec :: Rational -> LlvmMachOp -> SDoc Source #
Outputable LlvmLinkageType # |
Methods ppr :: LlvmLinkageType -> SDoc Source # pprPrec :: Rational -> LlvmLinkageType -> SDoc Source #
Outputable LlvmCallConvention # |
Methods ppr :: LlvmCallConvention -> SDoc Source # pprPrec :: Rational -> LlvmCallConvention -> SDoc Source #
Outputable LlvmFuncAttr # |
Methods ppr :: LlvmFuncAttr -> SDoc Source # pprPrec :: Rational -> LlvmFuncAttr -> SDoc Source #
Outputable LlvmParamAttr # |
Methods ppr :: LlvmParamAttr -> SDoc Source # pprPrec :: Rational -> LlvmParamAttr -> SDoc Source #
Outputable LlvmFunctionDecl # |
Methods ppr :: LlvmFunctionDecl -> SDoc Source # pprPrec :: Rational -> LlvmFunctionDecl -> SDoc Source #
Outputable LlvmStatic # |
Methods ppr :: LlvmStatic -> SDoc Source # pprPrec :: Rational -> LlvmStatic -> SDoc Source #
Outputable LlvmLit # |
Methods ppr :: LlvmLit -> SDoc Source # pprPrec :: Rational -> LlvmLit -> SDoc Source #
Outputable LlvmVar # |
Methods ppr :: LlvmVar -> SDoc Source # pprPrec :: Rational -> LlvmVar -> SDoc Source #
Outputable LlvmType # |
Methods ppr :: LlvmType -> SDoc Source # pprPrec :: Rational -> LlvmType -> SDoc Source #
Outputable MetaExpr # |
Methods ppr :: MetaExpr -> SDoc Source # pprPrec :: Rational -> MetaExpr -> SDoc Source #
Outputable TopSRT # |
Methods ppr :: TopSRT -> SDoc Source # pprPrec :: Rational -> TopSRT -> SDoc Source #
Outputable ParamLocation # |
Methods ppr :: ParamLocation -> SDoc Source # pprPrec :: Rational -> ParamLocation -> SDoc Source #
Outputable Status # |
Methods ppr :: Status -> SDoc Source # pprPrec :: Rational -> Status -> SDoc Source #
Outputable LiveInfo # |
Methods ppr :: LiveInfo -> SDoc Source # pprPrec :: Rational -> LiveInfo -> SDoc Source #
Outputable SpillStats # |
Methods ppr :: SpillStats -> SDoc Source # pprPrec :: Rational -> SpillStats -> SDoc Source #
Outputable Loc # |
Methods ppr :: Loc -> SDoc Source # pprPrec :: Rational -> Loc -> SDoc Source #
Outputable UpdateFlag # |
Methods ppr :: UpdateFlag -> SDoc Source # pprPrec :: Rational -> UpdateFlag -> SDoc Source #
Outputable AltType # |
Methods ppr :: AltType -> SDoc Source # pprPrec :: Rational -> AltType -> SDoc Source #
Outputable TcDepVars # |
Methods ppr :: TcDepVars -> SDoc Source # pprPrec :: Rational -> TcDepVars -> SDoc Source #
Outputable TcLevel # |
Methods ppr :: TcLevel -> SDoc Source # pprPrec :: Rational -> TcLevel -> SDoc Source #
Outputable ExpType # |
Methods ppr :: ExpType -> SDoc Source # pprPrec :: Rational -> ExpType -> SDoc Source #
Outputable IfaceCoercion # |
Methods ppr :: IfaceCoercion -> SDoc Source # pprPrec :: Rational -> IfaceCoercion -> SDoc Source #
Outputable IfaceTyCon # |
Methods ppr :: IfaceTyCon -> SDoc Source # pprPrec :: Rational -> IfaceTyCon -> SDoc Source #
Outputable IfaceTcArgs # |
Methods ppr :: IfaceTcArgs -> SDoc Source # pprPrec :: Rational -> IfaceTcArgs -> SDoc Source #
Outputable IfaceTyLit # |
Methods ppr :: IfaceTyLit -> SDoc Source # pprPrec :: Rational -> IfaceTyLit -> SDoc Source #
Outputable IfaceType # |
Methods ppr :: IfaceType -> SDoc Source # pprPrec :: Rational -> IfaceType -> SDoc Source #
Outputable IfaceBndr # |
Methods ppr :: IfaceBndr -> SDoc Source # pprPrec :: Rational -> IfaceBndr -> SDoc Source #
Outputable ClsInst # |
Methods ppr :: ClsInst -> SDoc Source # pprPrec :: Rational -> ClsInst -> SDoc Source #
Outputable Subst # |
Methods ppr :: Subst -> SDoc Source # pprPrec :: Rational -> Subst -> SDoc Source #
Outputable CallCtxt # |
Methods ppr :: CallCtxt -> SDoc Source # pprPrec :: Rational -> CallCtxt -> SDoc Source #
Outputable ArgSummary # |
Methods ppr :: ArgSummary -> SDoc Source # pprPrec :: Rational -> ArgSummary -> SDoc Source #
Outputable CgLoc # |
Methods ppr :: CgLoc -> SDoc Source # pprPrec :: Rational -> CgLoc -> SDoc Source #
Outputable ArgRep # |
Methods ppr :: ArgRep -> SDoc Source # pprPrec :: Rational -> ArgRep -> SDoc Source #
Outputable Sequel # |
Methods ppr :: Sequel -> SDoc Source # pprPrec :: Rational -> Sequel -> SDoc Source #
Outputable CgIdInfo # |
Methods ppr :: CgIdInfo -> SDoc Source # pprPrec :: Rational -> CgIdInfo -> SDoc Source #
Outputable BCInstr # |
Methods ppr :: BCInstr -> SDoc Source # pprPrec :: Rational -> BCInstr -> SDoc Source #
Outputable EvCallStack # |
Methods ppr :: EvCallStack -> SDoc Source # pprPrec :: Rational -> EvCallStack -> SDoc Source #
Outputable EvLit # |
Methods ppr :: EvLit -> SDoc Source # pprPrec :: Rational -> EvLit -> SDoc Source #
Outputable EvTypeable # |
Methods ppr :: EvTypeable -> SDoc Source # pprPrec :: Rational -> EvTypeable -> SDoc Source #
Outputable EvTerm # |
Methods ppr :: EvTerm -> SDoc Source # pprPrec :: Rational -> EvTerm -> SDoc Source #
Outputable EvBind # |
Methods ppr :: EvBind -> SDoc Source # pprPrec :: Rational -> EvBind -> SDoc Source #
Outputable EvBindsVar # |
Methods ppr :: EvBindsVar -> SDoc Source # pprPrec :: Rational -> EvBindsVar -> SDoc Source #
Outputable TcEvBinds # |
Methods ppr :: TcEvBinds -> SDoc Source # pprPrec :: Rational -> TcEvBinds -> SDoc Source #
Outputable HsWrapper # |
Methods ppr :: HsWrapper -> SDoc Source # pprPrec :: Rational -> HsWrapper -> SDoc Source #
Outputable OverLitVal # |
Methods ppr :: OverLitVal -> SDoc Source # pprPrec :: Rational -> OverLitVal -> SDoc Source #
Outputable HsLit # |
Methods ppr :: HsLit -> SDoc Source # pprPrec :: Rational -> HsLit -> SDoc Source #
Outputable HsTyLit # |
Methods ppr :: HsTyLit -> SDoc Source # pprPrec :: Rational -> HsTyLit -> SDoc Source #
Outputable HsIPName # |
Methods ppr :: HsIPName -> SDoc Source # pprPrec :: Rational -> HsIPName -> SDoc Source #
Outputable TcSpecPrag # |
Methods ppr :: TcSpecPrag -> SDoc Source # pprPrec :: Rational -> TcSpecPrag -> SDoc Source #
Outputable DocDecl # |
Methods ppr :: DocDecl -> SDoc Source # pprPrec :: Rational -> DocDecl -> SDoc Source #
Outputable ForeignExport # |
Methods ppr :: ForeignExport -> SDoc Source # pprPrec :: Rational -> ForeignExport -> SDoc Source #
Outputable ForeignImport # |
Methods ppr :: ForeignImport -> SDoc Source # pprPrec :: Rational -> ForeignImport -> SDoc Source #
Outputable NewOrData # |
Methods ppr :: NewOrData -> SDoc Source # pprPrec :: Rational -> NewOrData -> SDoc Source #
Outputable PendingTcSplice # |
Methods ppr :: PendingTcSplice -> SDoc Source # pprPrec :: Rational -> PendingTcSplice -> SDoc Source #
Outputable PendingRnSplice # |
Methods ppr :: PendingRnSplice -> SDoc Source # pprPrec :: Rational -> PendingRnSplice -> SDoc Source #
Outputable UnboundVar # |
Methods ppr :: UnboundVar -> SDoc Source # pprPrec :: Rational -> UnboundVar -> SDoc Source #
Outputable PmLit # |
Methods ppr :: PmLit -> SDoc Source # pprPrec :: Rational -> PmLit -> SDoc Source #
Outputable PmExpr # |
Methods ppr :: PmExpr -> SDoc Source # pprPrec :: Rational -> PmExpr -> SDoc Source #
Outputable AnnotationComment # |
Methods ppr :: AnnotationComment -> SDoc Source # pprPrec :: Rational -> AnnotationComment -> SDoc Source #
Outputable AnnKeywordId # |
Methods ppr :: AnnKeywordId -> SDoc Source # pprPrec :: Rational -> AnnKeywordId -> SDoc Source #
Outputable Token # |
Methods ppr :: Token -> SDoc Source # pprPrec :: Rational -> Token -> SDoc Source #
Outputable Annotation # |
Methods ppr :: Annotation -> SDoc Source # pprPrec :: Rational -> Annotation -> SDoc Source #
Outputable IfaceConAlt # |
Methods ppr :: IfaceConAlt -> SDoc Source # pprPrec :: Rational -> IfaceConAlt -> SDoc Source #
Outputable IfaceExpr # |
Methods ppr :: IfaceExpr -> SDoc Source # pprPrec :: Rational -> IfaceExpr -> SDoc Source #
Outputable IfaceIdDetails # |
Methods ppr :: IfaceIdDetails -> SDoc Source # pprPrec :: Rational -> IfaceIdDetails -> SDoc Source #
Outputable IfaceUnfolding # |
Methods ppr :: IfaceUnfolding -> SDoc Source # pprPrec :: Rational -> IfaceUnfolding -> SDoc Source #
Outputable IfaceInfoItem # |
Methods ppr :: IfaceInfoItem -> SDoc Source # pprPrec :: Rational -> IfaceInfoItem -> SDoc Source #
Outputable IfaceIdInfo # |
Methods ppr :: IfaceIdInfo -> SDoc Source # pprPrec :: Rational -> IfaceIdInfo -> SDoc Source #
Outputable IfaceAnnotation # |
Methods ppr :: IfaceAnnotation -> SDoc Source # pprPrec :: Rational -> IfaceAnnotation -> SDoc Source #
Outputable IfaceRule # |
Methods ppr :: IfaceRule -> SDoc Source # pprPrec :: Rational -> IfaceRule -> SDoc Source #
Outputable IfaceFamInst # |
Methods ppr :: IfaceFamInst -> SDoc Source # pprPrec :: Rational -> IfaceFamInst -> SDoc Source #
Outputable IfaceClsInst # |
Methods ppr :: IfaceClsInst -> SDoc Source # pprPrec :: Rational -> IfaceClsInst -> SDoc Source #
Outputable IfaceAT # |
Methods ppr :: IfaceAT -> SDoc Source # pprPrec :: Rational -> IfaceAT -> SDoc Source #
Outputable IfaceClassOp # |
Methods ppr :: IfaceClassOp -> SDoc Source # pprPrec :: Rational -> IfaceClassOp -> SDoc Source #
Outputable IfaceTyConParent # |
Methods ppr :: IfaceTyConParent -> SDoc Source # pprPrec :: Rational -> IfaceTyConParent -> SDoc Source #
Outputable IfaceDecl # |
Methods ppr :: IfaceDecl -> SDoc Source # pprPrec :: Rational -> IfaceDecl -> SDoc Source #
Outputable Unlinked # |
Methods ppr :: Unlinked -> SDoc Source # pprPrec :: Rational -> Unlinked -> SDoc Source #
Outputable Linkable # |
Methods ppr :: Linkable -> SDoc Source # pprPrec :: Rational -> Linkable -> SDoc Source #
Outputable IfaceTrustInfo # |
Methods ppr :: IfaceTrustInfo -> SDoc Source # pprPrec :: Rational -> IfaceTrustInfo -> SDoc Source #
Outputable IfaceVectInfo # |
Methods ppr :: IfaceVectInfo -> SDoc Source # pprPrec :: Rational -> IfaceVectInfo -> SDoc Source #
Outputable VectInfo # |
Methods ppr :: VectInfo -> SDoc Source # pprPrec :: Rational -> VectInfo -> SDoc Source #
Outputable ModSummary # |
Methods ppr :: ModSummary -> SDoc Source # pprPrec :: Rational -> ModSummary -> SDoc Source #
Outputable FixItem # |
Methods ppr :: FixItem -> SDoc Source # pprPrec :: Rational -> FixItem -> SDoc Source #
Outputable InteractiveImport # |
Methods ppr :: InteractiveImport -> SDoc Source # pprPrec :: Rational -> InteractiveImport -> SDoc Source #
Outputable TargetId # |
Methods ppr :: TargetId -> SDoc Source # pprPrec :: Rational -> TargetId -> SDoc Source #
Outputable Target # |
Methods ppr :: Target -> SDoc Source # pprPrec :: Rational -> Target -> SDoc Source #
Outputable FloatBind # |
Methods ppr :: FloatBind -> SDoc Source # pprPrec :: Rational -> FloatBind -> SDoc Source #
Outputable PhasePlus # |
Methods ppr :: PhasePlus -> SDoc Source # pprPrec :: Rational -> PhasePlus -> SDoc Source #
Outputable TypeOrKind # |
Methods ppr :: TypeOrKind -> SDoc Source # pprPrec :: Rational -> TypeOrKind -> SDoc Source #
Outputable ErrorThing # |
Methods ppr :: ErrorThing -> SDoc Source # pprPrec :: Rational -> ErrorThing -> SDoc Source #
Outputable CtOrigin # |
Methods ppr :: CtOrigin -> SDoc Source # pprPrec :: Rational -> CtOrigin -> SDoc Source #
Outputable SkolemInfo # |
Methods ppr :: SkolemInfo -> SDoc Source # pprPrec :: Rational -> SkolemInfo -> SDoc Source #
Outputable SubGoalDepth # |
Methods ppr :: SubGoalDepth -> SDoc Source # pprPrec :: Rational -> SubGoalDepth -> SDoc Source #
Outputable CtFlavour # |
Methods ppr :: CtFlavour -> SDoc Source # pprPrec :: Rational -> CtFlavour -> SDoc Source #
Outputable CtEvidence # |
Methods ppr :: CtEvidence -> SDoc Source # pprPrec :: Rational -> CtEvidence -> SDoc Source #
Outputable TcEvDest # |
Methods ppr :: TcEvDest -> SDoc Source # pprPrec :: Rational -> TcEvDest -> SDoc Source #
Outputable ImplicStatus # |
Methods ppr :: ImplicStatus -> SDoc Source # pprPrec :: Rational -> ImplicStatus -> SDoc Source #
Outputable Implication # |
Methods ppr :: Implication -> SDoc Source # pprPrec :: Rational -> Implication -> SDoc Source #
Outputable WantedConstraints # |
Methods ppr :: WantedConstraints -> SDoc Source # pprPrec :: Rational -> WantedConstraints -> SDoc Source #
Outputable Ct # |
Methods ppr :: Ct -> SDoc Source # pprPrec :: Rational -> Ct -> SDoc Source #
Outputable TcPatSynInfo # |
Methods ppr :: TcPatSynInfo -> SDoc Source # pprPrec :: Rational -> TcPatSynInfo -> SDoc Source #
Outputable TcIdSigBndr # |
Methods ppr :: TcIdSigBndr -> SDoc Source # pprPrec :: Rational -> TcIdSigBndr -> SDoc Source #
Outputable TcIdSigInfo # |
Methods ppr :: TcIdSigInfo -> SDoc Source # pprPrec :: Rational -> TcIdSigInfo -> SDoc Source #
Outputable TcSigInfo # |
Methods ppr :: TcSigInfo -> SDoc Source # pprPrec :: Rational -> TcSigInfo -> SDoc Source #
Outputable WhereFrom # |
Methods ppr :: WhereFrom -> SDoc Source # pprPrec :: Rational -> WhereFrom -> SDoc Source #
Outputable PromotionErr # |
Methods ppr :: PromotionErr -> SDoc Source # pprPrec :: Rational -> PromotionErr -> SDoc Source #
Outputable TcTyThing # |
Methods ppr :: TcTyThing -> SDoc Source # pprPrec :: Rational -> TcTyThing -> SDoc Source #
Outputable ThStage # |
Methods ppr :: ThStage -> SDoc Source # pprPrec :: Rational -> ThStage -> SDoc Source #
Outputable TcIdBinder # |
Methods ppr :: TcIdBinder -> SDoc Source # pprPrec :: Rational -> TcIdBinder -> SDoc Source #
Outputable Tick # |
Methods ppr :: Tick -> SDoc Source # pprPrec :: Rational -> Tick -> SDoc Source #
Outputable FloatOutSwitches # |
Methods ppr :: FloatOutSwitches -> SDoc Source # pprPrec :: Rational -> FloatOutSwitches -> SDoc Source #
Outputable SimplifierMode # |
Methods ppr :: SimplifierMode -> SDoc Source # pprPrec :: Rational -> SimplifierMode -> SDoc Source #
Outputable CoreToDo # |
Methods ppr :: CoreToDo -> SDoc Source # pprPrec :: Rational -> CoreToDo -> SDoc Source #
Outputable FloatSpec # |
Methods ppr :: FloatSpec -> SDoc Source # pprPrec :: Rational -> FloatSpec -> SDoc Source #
Outputable Level # |
Methods ppr :: Level -> SDoc Source # pprPrec :: Rational -> Level -> SDoc Source #
Outputable Floats # |
Methods ppr :: Floats -> SDoc Source # pprPrec :: Rational -> Floats -> SDoc Source #
Outputable SimplSR # |
Methods ppr :: SimplSR -> SDoc Source # pprPrec :: Rational -> SimplSR -> SDoc Source #
Outputable ArgSpec # |
Methods ppr :: ArgSpec -> SDoc Source # pprPrec :: Rational -> ArgSpec -> SDoc Source #
Outputable DupFlag # |
Methods ppr :: DupFlag -> SDoc Source # pprPrec :: Rational -> DupFlag -> SDoc Source #
Outputable SimplCont # |
Methods ppr :: SimplCont -> SDoc Source # pprPrec :: Rational -> SimplCont -> SDoc Source #
Outputable EquationInfo # |
Methods ppr :: EquationInfo -> SDoc Source # pprPrec :: Rational -> EquationInfo -> SDoc Source #
Outputable InertCans # |
Methods ppr :: InertCans -> SDoc Source # pprPrec :: Rational -> InertCans -> SDoc Source #
Outputable InertSet # |
Methods ppr :: InertSet -> SDoc Source # pprPrec :: Rational -> InertSet -> SDoc Source #
Outputable WorkList # |
Methods ppr :: WorkList -> SDoc Source # pprPrec :: Rational -> WorkList -> SDoc Source #
Outputable ClosureType # |
Methods ppr :: ClosureType -> SDoc Source # pprPrec :: Rational -> ClosureType -> SDoc Source #
Outputable Term # |
Methods ppr :: Term -> SDoc Source # pprPrec :: Rational -> Term -> SDoc Source #
Outputable CompRepr # |
Methods ppr :: CompRepr -> SDoc Source # pprPrec :: Rational -> CompRepr -> SDoc Source #
Outputable ProdRepr # |
Methods ppr :: ProdRepr -> SDoc Source # pprPrec :: Rational -> ProdRepr -> SDoc Source #
Outputable ConRepr # |
Methods ppr :: ConRepr -> SDoc Source # pprPrec :: Rational -> ConRepr -> SDoc Source #
Outputable SumRepr # |
Methods ppr :: SumRepr -> SDoc Source # pprPrec :: Rational -> SumRepr -> SDoc Source #
Outputable CoreModule # |
Methods ppr :: CoreModule -> SDoc Source # pprPrec :: Rational -> CoreModule -> SDoc Source #
Outputable a => Outputable [a] # |
Methods ppr :: [a] -> SDoc Source # pprPrec :: Rational -> [a] -> SDoc Source #
Outputable a => Outputable (Maybe a) # |
Methods ppr :: Maybe a -> SDoc Source # pprPrec :: Rational -> Maybe a -> SDoc Source #
Outputable a => Outputable (SCC a) # |
Methods ppr :: SCC a -> SDoc Source # pprPrec :: Rational -> SCC a -> SDoc Source #
Outputable elt => Outputable (IntMap elt) # |
Methods ppr :: IntMap elt -> SDoc Source # pprPrec :: Rational -> IntMap elt -> SDoc Source #
Outputable a => Outputable (Set a) # |
Methods ppr :: Set a -> SDoc Source # pprPrec :: Rational -> Set a -> SDoc Source #
Outputable node => Outputable (Graph node) # |
Methods ppr :: Graph node -> SDoc Source # pprPrec :: Rational -> Graph node -> SDoc Source #
Outputable a => Outputable (OrdList a) # |
Methods ppr :: OrdList a -> SDoc Source # pprPrec :: Rational -> OrdList a -> SDoc Source #
Outputable a => Outputable (Pair a) # |
Methods ppr :: Pair a -> SDoc Source # pprPrec :: Rational -> Pair a -> SDoc Source #
Outputable a => Outputable (Bag a) # |
Methods ppr :: Bag a -> SDoc Source # pprPrec :: Rational -> Bag a -> SDoc Source #
Outputable (DefMethSpec ty) # |
Methods ppr :: DefMethSpec ty -> SDoc Source # pprPrec :: Rational -> DefMethSpec ty -> SDoc Source #
Outputable a => Outputable (UniqFM a) # |
Methods ppr :: UniqFM a -> SDoc Source # pprPrec :: Rational -> UniqFM a -> SDoc Source #
Outputable a => Outputable (BooleanFormula a) # |
Methods ppr :: BooleanFormula a -> SDoc Source # pprPrec :: Rational -> BooleanFormula a -> SDoc Source #
Outputable a => Outputable (UniqDFM a) # |
Methods ppr :: UniqDFM a -> SDoc Source # pprPrec :: Rational -> UniqDFM a -> SDoc Source #
Outputable a => Outputable (OccEnv a) # |
Methods ppr :: OccEnv a -> SDoc Source # pprPrec :: Rational -> OccEnv a -> SDoc Source #
Outputable a => Outputable (FieldLbl a) # |
Methods ppr :: FieldLbl a -> SDoc Source # pprPrec :: Rational -> FieldLbl a -> SDoc Source #
(HasOccName name, OutputableBndr name) => Outputable (IE name) # |
Methods ppr :: IE name -> SDoc Source # pprPrec :: Rational -> IE name -> SDoc Source #
(OutputableBndr name, HasOccName name) => Outputable (ImportDecl name) # |
Methods ppr :: ImportDecl name -> SDoc Source # pprPrec :: Rational -> ImportDecl name -> SDoc Source #
Outputable (CoAxiom br) # |
Methods ppr :: CoAxiom br -> SDoc Source # pprPrec :: Rational -> CoAxiom br -> SDoc Source #
Outputable a => Outputable (UnifyResultM a) # |
Methods ppr :: UnifyResultM a -> SDoc Source # pprPrec :: Rational -> UnifyResultM a -> SDoc Source #
Outputable b => Outputable (TaggedBndr b) # |
Methods ppr :: TaggedBndr b -> SDoc Source # pprPrec :: Rational -> TaggedBndr b -> SDoc Source #
Outputable a => Outputable (CoreMap a) # |
Methods ppr :: CoreMap a -> SDoc Source # pprPrec :: Rational -> CoreMap a -> SDoc Source #
Outputable instr => Outputable (ListGraph instr) # |
Methods ppr :: ListGraph instr -> SDoc Source # pprPrec :: Rational -> ListGraph instr -> SDoc Source #
Outputable instr => Outputable (GenBasicBlock instr) # |
Methods ppr :: GenBasicBlock instr -> SDoc Source # pprPrec :: Rational -> GenBasicBlock instr -> SDoc Source #
Outputable instr => Outputable (LiveInstr instr) # |
Methods ppr :: LiveInstr instr -> SDoc Source # pprPrec :: Rational -> LiveInstr instr -> SDoc Source #
Outputable instr => Outputable (InstrSR instr) # |
Methods ppr :: InstrSR instr -> SDoc Source # pprPrec :: Rational -> InstrSR instr -> SDoc Source #
Outputable bdee => Outputable (GenStgArg bdee) # |
Methods ppr :: GenStgArg bdee -> SDoc Source # pprPrec :: Rational -> GenStgArg bdee -> SDoc Source #
Outputable a => Outputable (NonVoid a) # |
Methods ppr :: NonVoid a -> SDoc Source # pprPrec :: Rational -> NonVoid a -> SDoc Source #
Outputable a => Outputable (ProtoBCO a) # |
Methods ppr :: ProtoBCO a -> SDoc Source # pprPrec :: Rational -> ProtoBCO a -> SDoc Source #
OutputableBndr name => Outputable (Pat name) # |
Methods ppr :: Pat name -> SDoc Source # pprPrec :: Rational -> Pat name -> SDoc Source #
OutputableBndr id => Outputable (SyntaxExpr id) # |
Methods ppr :: SyntaxExpr id -> SDoc Source # pprPrec :: Rational -> SyntaxExpr id -> SDoc Source #
OutputableBndr id => Outputable (HsSplice id) # |
Methods ppr :: HsSplice id -> SDoc Source # pprPrec :: Rational -> HsSplice id -> SDoc Source #
OutputableBndr id => Outputable (HsCmd id) # |
Methods ppr :: HsCmd id -> SDoc Source # pprPrec :: Rational -> HsCmd id -> SDoc Source #
OutputableBndr id => Outputable (HsExpr id) # |
Methods ppr :: HsExpr id -> SDoc Source # pprPrec :: Rational -> HsExpr id -> SDoc Source #
OutputableBndr id => Outputable (HsOverLit id) # |
Methods ppr :: HsOverLit id -> SDoc Source # pprPrec :: Rational -> HsOverLit id -> SDoc Source #
Outputable (AmbiguousFieldOcc name) # |
Methods ppr :: AmbiguousFieldOcc name -> SDoc Source # pprPrec :: Rational -> AmbiguousFieldOcc name -> SDoc Source #
Outputable (FieldOcc name) # |
Methods ppr :: FieldOcc name -> SDoc Source # pprPrec :: Rational -> FieldOcc name -> SDoc Source #
OutputableBndr name => Outputable (ConDeclField name) # |
Methods ppr :: ConDeclField name -> SDoc Source # pprPrec :: Rational -> ConDeclField name -> SDoc Source #
OutputableBndr name => Outputable (HsAppType name) # |
Methods ppr :: HsAppType name -> SDoc Source # pprPrec :: Rational -> HsAppType name -> SDoc Source #
Outputable (HsWildCardInfo name) # |
Methods ppr :: HsWildCardInfo name -> SDoc Source # pprPrec :: Rational -> HsWildCardInfo name -> SDoc Source #
OutputableBndr name => Outputable (HsType name) # |
Methods ppr :: HsType name -> SDoc Source # pprPrec :: Rational -> HsType name -> SDoc Source #
OutputableBndr name => Outputable (HsTyVarBndr name) # |
Methods ppr :: HsTyVarBndr name -> SDoc Source # pprPrec :: Rational -> HsTyVarBndr name -> SDoc Source #
OutputableBndr name => Outputable (LHsQTyVars name) # |
Methods ppr :: LHsQTyVars name -> SDoc Source # pprPrec :: Rational -> LHsQTyVars name -> SDoc Source #
Outputable a => Outputable (RecordPatSynField a) # |
Methods ppr :: RecordPatSynField a -> SDoc Source # pprPrec :: Rational -> RecordPatSynField a -> SDoc Source #
OutputableBndr name => Outputable (FixitySig name) # |
Methods ppr :: FixitySig name -> SDoc Source # pprPrec :: Rational -> FixitySig name -> SDoc Source #
OutputableBndr name => Outputable (Sig name) # |
Methods ppr :: Sig name -> SDoc Source # pprPrec :: Rational -> Sig name -> SDoc Source #
OutputableBndr id => Outputable (IPBind id) # |
Methods ppr :: IPBind id -> SDoc Source # pprPrec :: Rational -> IPBind id -> SDoc Source #
OutputableBndr id => Outputable (HsIPBinds id) # |
Methods ppr :: HsIPBinds id -> SDoc Source # pprPrec :: Rational -> HsIPBinds id -> SDoc Source #
OutputableBndr id => Outputable (ABExport id) # |
Methods ppr :: ABExport id -> SDoc Source # pprPrec :: Rational -> ABExport id -> SDoc Source #
OutputableBndr name => Outputable (RoleAnnotDecl name) # |
Methods ppr :: RoleAnnotDecl name -> SDoc Source # pprPrec :: Rational -> RoleAnnotDecl name -> SDoc Source #
OutputableBndr name => Outputable (AnnDecl name) # |
Methods ppr :: AnnDecl name -> SDoc Source # pprPrec :: Rational -> AnnDecl name -> SDoc Source #
OutputableBndr name => Outputable (WarnDecl name) # |
Methods ppr :: WarnDecl name -> SDoc Source # pprPrec :: Rational -> WarnDecl name -> SDoc Source #
OutputableBndr name => Outputable (WarnDecls name) # |
Methods ppr :: WarnDecls name -> SDoc Source # pprPrec :: Rational -> WarnDecls name -> SDoc Source #
OutputableBndr name => Outputable (VectDecl name) # |
Methods ppr :: VectDecl name -> SDoc Source # pprPrec :: Rational -> VectDecl name -> SDoc Source #
OutputableBndr name => Outputable (RuleBndr name) # |
Methods ppr :: RuleBndr name -> SDoc Source # pprPrec :: Rational -> RuleBndr name -> SDoc Source #
OutputableBndr name => Outputable (RuleDecl name) # |
Methods ppr :: RuleDecl name -> SDoc Source # pprPrec :: Rational -> RuleDecl name -> SDoc Source #
OutputableBndr name => Outputable (RuleDecls name) # |
Methods ppr :: RuleDecls name -> SDoc Source # pprPrec :: Rational -> RuleDecls name -> SDoc Source #
OutputableBndr name => Outputable (ForeignDecl name) # |
Methods ppr :: ForeignDecl name -> SDoc Source # pprPrec :: Rational -> ForeignDecl name -> SDoc Source #
OutputableBndr name => Outputable (DefaultDecl name) # |
Methods ppr :: DefaultDecl name -> SDoc Source # pprPrec :: Rational -> DefaultDecl name -> SDoc Source #
OutputableBndr name => Outputable (DerivDecl name) # |
Methods ppr :: DerivDecl name -> SDoc Source # pprPrec :: Rational -> DerivDecl name -> SDoc Source #
OutputableBndr name => Outputable (InstDecl name) # |
Methods ppr :: InstDecl name -> SDoc Source # pprPrec :: Rational -> InstDecl name -> SDoc Source #
OutputableBndr name => Outputable (ClsInstDecl name) # |
Methods ppr :: ClsInstDecl name -> SDoc Source # pprPrec :: Rational -> ClsInstDecl name -> SDoc Source #
OutputableBndr name => Outputable (DataFamInstDecl name) # |
Methods ppr :: DataFamInstDecl name -> SDoc Source # pprPrec :: Rational -> DataFamInstDecl name -> SDoc Source #
OutputableBndr name => Outputable (TyFamInstDecl name) # |
Methods ppr :: TyFamInstDecl name -> SDoc Source # pprPrec :: Rational -> TyFamInstDecl name -> SDoc Source #
OutputableBndr name => Outputable (ConDecl name) # |
Methods ppr :: ConDecl name -> SDoc Source # pprPrec :: Rational -> ConDecl name -> SDoc Source #
OutputableBndr name => Outputable (HsDataDefn name) # |
Methods ppr :: HsDataDefn name -> SDoc Source # pprPrec :: Rational -> HsDataDefn name -> SDoc Source #
Outputable (FamilyInfo name) # |
Methods ppr :: FamilyInfo name -> SDoc Source # pprPrec :: Rational -> FamilyInfo name -> SDoc Source #
OutputableBndr name => Outputable (FamilyDecl name) # |
Methods ppr :: FamilyDecl name -> SDoc Source # pprPrec :: Rational -> FamilyDecl name -> SDoc Source #
OutputableBndr name => Outputable (TyClGroup name) # |
Methods ppr :: TyClGroup name -> SDoc Source # pprPrec :: Rational -> TyClGroup name -> SDoc Source #
OutputableBndr name => Outputable (TyClDecl name) # |
Methods ppr :: TyClDecl name -> SDoc Source # pprPrec :: Rational -> TyClDecl name -> SDoc Source #
OutputableBndr name => Outputable (SpliceDecl name) # |
Methods ppr :: SpliceDecl name -> SDoc Source # pprPrec :: Rational -> SpliceDecl name -> SDoc Source #
OutputableBndr name => Outputable (HsGroup name) # |
Methods ppr :: HsGroup name -> SDoc Source # pprPrec :: Rational -> HsGroup name -> SDoc Source #
OutputableBndr name => Outputable (HsDecl name) # |
Methods ppr :: HsDecl name -> SDoc Source # pprPrec :: Rational -> HsDecl name -> SDoc Source #
OutputableBndr id => Outputable (ArithSeqInfo id) # |
Methods ppr :: ArithSeqInfo id -> SDoc Source # pprPrec :: Rational -> ArithSeqInfo id -> SDoc Source #
OutputableBndr id => Outputable (HsBracket id) # |
Methods ppr :: HsBracket id -> SDoc Source # pprPrec :: Rational -> HsBracket id -> SDoc Source #
OutputableBndr id => Outputable (HsSplicedThing id) # |
Methods ppr :: HsSplicedThing id -> SDoc Source # pprPrec :: Rational -> HsSplicedThing id -> SDoc Source #
OutputableBndr id => Outputable (HsCmdTop id) # |
Methods ppr :: HsCmdTop id -> SDoc Source # pprPrec :: Rational -> HsCmdTop id -> SDoc Source #
(OutputableBndr name, HasOccName name) => Outputable (HsModule name) # |
Methods ppr :: HsModule name -> SDoc Source # pprPrec :: Rational -> HsModule name -> SDoc Source #
Outputable name => Outputable (AnnTarget name) # |
Methods ppr :: AnnTarget name -> SDoc Source # pprPrec :: Rational -> AnnTarget name -> SDoc Source #
OutputableBndr a => Outputable (InstInfo a) # |
Methods ppr :: InstInfo a -> SDoc Source # pprPrec :: Rational -> InstInfo a -> SDoc Source #
Outputable a => Outputable (StopOrContinue a) # |
Methods ppr :: StopOrContinue a -> SDoc Source # pprPrec :: Rational -> StopOrContinue a -> SDoc Source #
(Outputable a, Outputable b) => Outputable (Either a b) # |
Methods ppr :: Either a b -> SDoc Source # pprPrec :: Rational -> Either a b -> SDoc Source #
(Outputable a, Outputable b) => Outputable (a, b) # |
Methods ppr :: (a, b) -> SDoc Source # pprPrec :: Rational -> (a, b) -> SDoc Source #
(Outputable key, Outputable elt) => Outputable (Map key elt) # |
Methods ppr :: Map key elt -> SDoc Source # pprPrec :: Rational -> Map key elt -> SDoc Source #
(Outputable l, Outputable e) => Outputable (GenLocated l e) # |
Methods ppr :: GenLocated l e -> SDoc Source # pprPrec :: Rational -> GenLocated l e -> SDoc Source #
(Outputable statics, Outputable instr) => Outputable (RegAllocStats statics instr) # |
Methods ppr :: RegAllocStats statics instr -> SDoc Source # pprPrec :: Rational -> RegAllocStats statics instr -> SDoc Source #
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgRhs bndr bdee) # |
Methods ppr :: GenStgRhs bndr bdee -> SDoc Source # pprPrec :: Rational -> GenStgRhs bndr bdee -> SDoc Source #
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgExpr bndr bdee) # |
Methods ppr :: GenStgExpr bndr bdee -> SDoc Source # pprPrec :: Rational -> GenStgExpr bndr bdee -> SDoc Source #
(OutputableBndr bndr, Outputable bdee, Ord bdee) => Outputable (GenStgBinding bndr bdee) # |
Methods ppr :: GenStgBinding bndr bdee -> SDoc Source # pprPrec :: Rational -> GenStgBinding bndr bdee -> SDoc Source #
(Outputable arg, Outputable rec) => Outputable (HsConDetails arg rec) # |
Methods ppr :: HsConDetails arg rec -> SDoc Source # pprPrec :: Rational -> HsConDetails arg rec -> SDoc Source #
Outputable thing => Outputable (HsWildCardBndrs name thing) # |
Methods ppr :: HsWildCardBndrs name thing -> SDoc Source # pprPrec :: Rational -> HsWildCardBndrs name thing -> SDoc Source #
Outputable thing => Outputable (HsImplicitBndrs name thing) # |
Methods ppr :: HsImplicitBndrs name thing -> SDoc Source # pprPrec :: Rational -> HsImplicitBndrs name thing -> SDoc Source #
(OutputableBndr idL, OutputableBndr idR) => Outputable (PatSynBind idL idR) # |
Methods ppr :: PatSynBind idL idR -> SDoc Source # pprPrec :: Rational -> PatSynBind idL idR -> SDoc Source #
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsBindLR idL idR) # |
Methods ppr :: HsBindLR idL idR -> SDoc Source # pprPrec :: Rational -> HsBindLR idL idR -> SDoc Source #
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsValBindsLR idL idR) # |
Methods ppr :: HsValBindsLR idL idR -> SDoc Source # pprPrec :: Rational -> HsValBindsLR idL idR -> SDoc Source #
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsLocalBindsLR idL idR) # |
Methods ppr :: HsLocalBindsLR idL idR -> SDoc Source # pprPrec :: Rational -> HsLocalBindsLR idL idR -> SDoc Source #
(Outputable id, Outputable arg) => Outputable (HsRecField' id arg) # |
Methods ppr :: HsRecField' id arg -> SDoc Source # pprPrec :: Rational -> HsRecField' id arg -> SDoc Source #
Outputable arg => Outputable (HsRecFields id arg) # |
Methods ppr :: HsRecFields id arg -> SDoc Source # pprPrec :: Rational -> HsRecFields id arg -> SDoc Source #
OutputableBndr idL => Outputable (ParStmtBlock idL idR) # |
Methods ppr :: ParStmtBlock idL idR -> SDoc Source # pprPrec :: Rational -> ParStmtBlock idL idR -> SDoc Source #
(Outputable a, Outputable b, Outputable c) => Outputable (a, b, c) # |
Methods ppr :: (a, b, c) -> SDoc Source # pprPrec :: Rational -> (a, b, c) -> SDoc Source #
(OutputableBndr idL, OutputableBndr idR, Outputable body) => Outputable (StmtLR idL idR body) # |
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) # |
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) # |
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) # |
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) # |
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

Methods

pprBndr :: BindingSite -> a -> SDoc Source #

pprPrefixOcc, pprInfixOcc :: a -> SDoc Source #

Instances

OutputableBndr OccName # |
Methods pprBndr :: BindingSite -> OccName -> SDoc Source # pprPrefixOcc :: OccName -> SDoc Source # pprInfixOcc :: OccName -> SDoc Source #
OutputableBndr Name # |
Methods pprBndr :: BindingSite -> Name -> SDoc Source # pprPrefixOcc :: Name -> SDoc Source # pprInfixOcc :: Name -> SDoc Source #
OutputableBndr DataCon # |
Methods pprBndr :: BindingSite -> DataCon -> SDoc Source # pprPrefixOcc :: DataCon -> SDoc Source # pprInfixOcc :: DataCon -> SDoc Source #
OutputableBndr PatSyn # |
Methods pprBndr :: BindingSite -> PatSyn -> SDoc Source # pprPrefixOcc :: PatSyn -> SDoc Source # pprInfixOcc :: PatSyn -> SDoc Source #
OutputableBndr ConLike # |
Methods pprBndr :: BindingSite -> ConLike -> SDoc Source # pprPrefixOcc :: ConLike -> SDoc Source # pprInfixOcc :: ConLike -> SDoc Source #
OutputableBndr RdrName # |
Methods pprBndr :: BindingSite -> RdrName -> SDoc Source # pprPrefixOcc :: RdrName -> SDoc Source # pprInfixOcc :: RdrName -> SDoc Source #
OutputableBndr HsIPName # |
Methods pprBndr :: BindingSite -> HsIPName -> SDoc Source # pprPrefixOcc :: HsIPName -> SDoc Source # pprInfixOcc :: HsIPName -> SDoc Source #
Outputable b => OutputableBndr (TaggedBndr b) # |
Methods pprBndr :: BindingSite -> TaggedBndr b -> SDoc Source # pprPrefixOcc :: TaggedBndr b -> SDoc Source # pprInfixOcc :: TaggedBndr b -> SDoc Source #
OutputableBndr (AmbiguousFieldOcc name) # |
Methods pprBndr :: BindingSite -> AmbiguousFieldOcc name -> SDoc Source # pprPrefixOcc :: AmbiguousFieldOcc name -> SDoc Source # pprInfixOcc :: AmbiguousFieldOcc name -> SDoc Source #

# Pretty printing combinators

data SDoc Source #

Instances

IsString SDoc # |
Methods fromString :: String -> SDoc Source #

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

initSDocContext :: DynFlags -> PprStyle -> SDocContext Source #

docToSDoc :: Doc -> SDoc 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.

quotedListWithOr :: [SDoc] -> SDoc Source #

quotedListWithNor :: [SDoc] -> SDoc Source #

empty :: SDoc Source #

isEmpty :: DynFlags -> SDoc -> Bool Source #

nest :: Int -> SDoc -> SDoc Source #

Indent `SDoc` some specified amount

char :: Char -> SDoc Source #

text :: String -> SDoc Source #

ftext :: FastString -> SDoc Source #

ptext :: LitString -> SDoc Source #

ztext :: FastZString -> SDoc Source #

int :: Int -> SDoc Source #

intWithCommas :: Integral a => a -> SDoc Source #

integer :: Integer -> SDoc Source #

float :: Float -> SDoc Source #

double :: Double -> SDoc Source #

rational :: Rational -> SDoc Source #

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

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

parens :: SDoc -> SDoc Source #

cparen :: Bool -> SDoc -> SDoc Source #

brackets :: SDoc -> SDoc Source #

braces :: SDoc -> SDoc Source #

quotes :: SDoc -> SDoc Source #

quote :: SDoc -> SDoc Source #

doubleQuotes :: SDoc -> SDoc Source #

angleBrackets :: SDoc -> SDoc Source #

paBrackets :: SDoc -> SDoc Source #

semi :: SDoc Source #

comma :: SDoc Source #

colon :: SDoc Source #

dcolon :: SDoc Source #

space :: SDoc Source #

equals :: SDoc Source #

dot :: SDoc Source #

vbar :: SDoc Source #

arrow :: SDoc Source #

larrow :: SDoc Source #

darrow :: SDoc Source #

arrowt :: SDoc Source #

larrowt :: SDoc Source #

arrowtt :: SDoc Source #

larrowtt :: SDoc Source #

lparen :: SDoc Source #

rparen :: SDoc Source #

lbrack :: SDoc Source #

rbrack :: SDoc Source #

lbrace :: SDoc Source #

rbrace :: SDoc Source #

underscore :: SDoc Source #

blankLine :: SDoc Source #

forAllLit :: SDoc Source #

(<>) :: 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

ppWhen :: Bool -> SDoc -> SDoc Source #

ppUnless :: Bool -> SDoc -> SDoc Source #

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"

unicodeSyntax :: SDoc -> SDoc -> SDoc Source #

coloured :: PprColour -> SDoc -> SDoc Source #

Apply the given colour/style for the argument.

Only takes effect if colours are enabled.

data PprColour Source #

A colour/style for use with `coloured`.

colType :: PprColour Source #

colCoerc :: PprColour Source #

colDataCon :: PprColour Source #

colBinder :: PprColour Source #

bold :: SDoc -> SDoc Source #

keyword :: SDoc -> SDoc Source #

# Converting `SDoc` into strings and outputing it

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

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

printForUser :: DynFlags -> Handle -> PrintUnqualified -> SDoc -> IO () Source #

printForUserPartWay :: DynFlags -> Handle -> Int -> PrintUnqualified -> SDoc -> IO () Source #

pprCode :: CodeStyle -> SDoc -> SDoc Source #

mkCodeStyle :: CodeStyle -> PprStyle Source #

showSDoc :: DynFlags -> SDoc -> String Source #

showSDocUnsafe :: SDoc -> String Source #

showSDocOneLine :: DynFlags -> SDoc -> String Source #

showSDocForUser :: DynFlags -> PrintUnqualified -> SDoc -> String Source #

showSDocDebug :: DynFlags -> SDoc -> String Source #

showSDocDump :: DynFlags -> SDoc -> String Source #

showSDocDumpOneLine :: DynFlags -> SDoc -> String Source #

showSDocUnqual :: DynFlags -> SDoc -> String Source #

showPpr :: Outputable a => DynFlags -> a -> String Source #

renderWithStyle :: DynFlags -> SDoc -> PprStyle -> String Source #

pprInfixVar :: Bool -> SDoc -> SDoc Source #

pprPrefixVar :: Bool -> SDoc -> SDoc Source #

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.

primFloatSuffix :: SDoc Source #

primDoubleSuffix :: SDoc Source #

pprPrimChar :: Char -> SDoc Source #

Special combinator for showing unboxed literals.

pprPrimInt :: Integer -> SDoc Source #

pprPrimWord :: Integer -> SDoc Source #

pprPrimInt64 :: Integer -> SDoc Source #

pprPrimWord64 :: Integer -> SDoc Source #

pprFastFilePath :: FastString -> SDoc Source #

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

Constructors

LambdaBind |
CaseBind |
LetBind |

data PprStyle Source #

Instances

Outputable PprStyle # |
Methods ppr :: PprStyle -> SDoc Source # pprPrec :: Rational -> PprStyle -> SDoc Source #

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`.

Constructors

QueryQualify |
Fields queryQualifyName :: QueryQualifyName queryQualifyModule :: QueryQualifyModule queryQualifyPackage :: QueryQualifyPackage

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 unit id to disambiguate it.

reallyAlwaysQualify :: PrintUnqualified Source #

reallyAlwaysQualifyNames :: QueryQualifyName Source #

alwaysQualify :: PrintUnqualified Source #

alwaysQualifyNames :: QueryQualifyName Source #

NB: This won't ever show package IDs

alwaysQualifyModules :: QueryQualifyModule Source #

neverQualify :: PrintUnqualified Source #

neverQualifyNames :: QueryQualifyName Source #

neverQualifyModules :: QueryQualifyModule Source #

alwaysQualifyPackages :: QueryQualifyPackage Source #

neverQualifyPackages :: QueryQualifyPackage Source #

data QualifyName Source #

Constructors

NameUnqual |
NameQual ModuleName |
NameNotInScope1 |
NameNotInScope2 |

queryQual :: PprStyle -> PrintUnqualified Source #

sdocWithDynFlags :: (DynFlags -> SDoc) -> SDoc Source #

sdocWithPlatform :: (Platform -> SDoc) -> SDoc Source #

getPprStyle :: (PprStyle -> SDoc) -> SDoc Source #

withPprStyle :: PprStyle -> SDoc -> SDoc Source #

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

pprDeeper :: SDoc -> SDoc Source #

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

Truncate a list that is longer than the current depth.

pprSetDepth :: Depth -> SDoc -> SDoc Source #

codeStyle :: PprStyle -> Bool Source #

userStyle :: PprStyle -> Bool Source #

debugStyle :: PprStyle -> Bool Source #

dumpStyle :: PprStyle -> Bool Source #

asmStyle :: PprStyle -> Bool Source #

ifPprDebug :: SDoc -> SDoc Source #

qualName :: PprStyle -> QueryQualifyName Source #

qualModule :: PprStyle -> QueryQualifyModule Source #

qualPackage :: PprStyle -> QueryQualifyPackage Source #

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

Style for printing error messages

defaultErrStyle :: DynFlags -> PprStyle Source #

defaultDumpStyle :: PprStyle Source #

mkDumpStyle :: PrintUnqualified -> PprStyle Source #

defaultUserStyle :: PprStyle Source #

mkUserStyle :: PrintUnqualified -> Depth -> PprStyle Source #

cmdlineParserStyle :: PprStyle Source #

data Depth Source #

Constructors

AllTheWay |
PartWay Int |

# Error handling and debugging utilities

pprPanic :: 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 :: (?callStack :: CallStack) => 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

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 :: (?callStack :: CallStack) => SDoc -> a -> a Source #

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

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.

    trace ("calling f with x = " ++ show x) (f x)

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 an failed assertion exception for a given filename and line number.

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