Outputable

ghc-8.0.0.20160204: 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
- 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
- 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 FastString |
Methods ppr :: FastString -> SDoc Source pprPrec :: Rational -> FastString -> 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 PprStyle |
Methods ppr :: PprStyle -> SDoc Source pprPrec :: Rational -> PprStyle -> 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 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 MetaDetails |
Methods ppr :: MetaDetails -> SDoc Source pprPrec :: Rational -> MetaDetails -> SDoc Source
Outputable IdDetails |
Methods ppr :: IdDetails -> SDoc Source pprPrec :: Rational -> IdDetails -> SDoc Source
Outputable HsDocString |
Methods ppr :: HsDocString -> SDoc Source pprPrec :: Rational -> HsDocString -> 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 Phase |
Methods ppr :: Phase -> SDoc Source pprPrec :: Rational -> Phase -> 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 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 TyCon |
Methods ppr :: TyCon -> SDoc Source pprPrec :: Rational -> TyCon -> SDoc Source
Outputable Annotation |
Methods ppr :: Annotation -> SDoc Source pprPrec :: Rational -> Annotation -> 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 AnnotationComment |
Methods ppr :: AnnotationComment -> SDoc Source pprPrec :: Rational -> AnnotationComment -> SDoc Source
Outputable AnnKeywordId |
Methods ppr :: AnnKeywordId -> SDoc Source pprPrec :: Rational -> AnnKeywordId -> SDoc Source
Outputable Var |
Methods ppr :: Var -> SDoc Source pprPrec :: Rational -> Var -> 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 Class |
Methods ppr :: Class -> SDoc Source pprPrec :: Rational -> Class -> SDoc Source
Outputable InScopeSet |
Methods ppr :: InScopeSet -> SDoc Source pprPrec :: Rational -> InScopeSet -> 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 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 LiftingContext |
Methods ppr :: LiftingContext -> SDoc Source pprPrec :: Rational -> LiftingContext -> 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 Width |
Methods ppr :: Width -> SDoc Source pprPrec :: Rational -> Width -> SDoc Source
Outputable CmmType |
Methods ppr :: CmmType -> SDoc Source pprPrec :: Rational -> CmmType -> SDoc Source
Outputable Token |
Methods ppr :: Token -> SDoc Source pprPrec :: Rational -> Token -> SDoc Source
Outputable ModuleOrigin |
Methods ppr :: ModuleOrigin -> SDoc Source pprPrec :: Rational -> ModuleOrigin -> 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 EqRel |
Methods ppr :: EqRel -> SDoc Source pprPrec :: Rational -> EqRel -> SDoc Source
Outputable RepType |
Methods ppr :: RepType -> SDoc Source pprPrec :: Rational -> RepType -> 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 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 Literal |
Methods ppr :: Literal -> SDoc Source pprPrec :: Rational -> Literal -> SDoc Source
Outputable AltCon |
Methods ppr :: AltCon -> SDoc Source pprPrec :: Rational -> AltCon -> 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 UnVarGraph |
Methods ppr :: UnVarGraph -> SDoc Source pprPrec :: Rational -> UnVarGraph -> SDoc Source
Outputable UnVarSet |
Methods ppr :: UnVarSet -> SDoc Source pprPrec :: Rational -> UnVarSet -> SDoc Source
Outputable CoreStats |
Methods ppr :: CoreStats -> SDoc Source pprPrec :: Rational -> CoreStats -> SDoc Source
Outputable PrimCall |
Methods ppr :: PrimCall -> SDoc Source pprPrec :: Rational -> PrimCall -> 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 ParamLocation |
Methods ppr :: ParamLocation -> SDoc Source pprPrec :: Rational -> ParamLocation -> SDoc Source
Outputable LiveInfo |
Methods ppr :: LiveInfo -> SDoc Source pprPrec :: Rational -> LiveInfo -> SDoc Source
Outputable Loc |
Methods ppr :: Loc -> SDoc Source pprPrec :: Rational -> Loc -> SDoc Source
Outputable SpillStats |
Methods ppr :: SpillStats -> SDoc Source pprPrec :: Rational -> SpillStats -> SDoc Source
Outputable TopSRT |
Methods ppr :: TopSRT -> SDoc Source pprPrec :: Rational -> TopSRT -> SDoc Source
Outputable Status |
Methods ppr :: Status -> SDoc Source pprPrec :: Rational -> Status -> 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 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 FamInstMatch |
Methods ppr :: FamInstMatch -> SDoc Source pprPrec :: Rational -> FamInstMatch -> SDoc Source
Outputable FamInst |
Methods ppr :: FamInst -> SDoc Source pprPrec :: Rational -> FamInst -> 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 CgLoc |
Methods ppr :: CgLoc -> SDoc Source pprPrec :: Rational -> CgLoc -> 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 ArgRep |
Methods ppr :: ArgRep -> SDoc Source pprPrec :: Rational -> ArgRep -> SDoc Source
Outputable BCInstr |
Methods ppr :: BCInstr -> SDoc Source pprPrec :: Rational -> BCInstr -> SDoc Source
Outputable ClsInst |
Methods ppr :: ClsInst -> SDoc Source pprPrec :: Rational -> ClsInst -> 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 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 PmLit |
Methods ppr :: PmLit -> SDoc Source pprPrec :: Rational -> PmLit -> SDoc Source
Outputable PmExpr |
Methods ppr :: PmExpr -> SDoc Source pprPrec :: Rational -> PmExpr -> 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 IfaceForAllBndr |
Methods ppr :: IfaceForAllBndr -> SDoc Source pprPrec :: Rational -> IfaceForAllBndr -> 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 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 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 FloatBind |
Methods ppr :: FloatBind -> SDoc Source pprPrec :: Rational -> FloatBind -> 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 ClosureType |
Methods ppr :: ClosureType -> SDoc Source pprPrec :: Rational -> ClosureType -> SDoc Source
Outputable Term |
Methods ppr :: Term -> SDoc Source pprPrec :: Rational -> Term -> 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 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 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 a => Outputable (SCC a) |
Methods ppr :: SCC a -> SDoc Source pprPrec :: Rational -> SCC a -> SDoc Source
Outputable a => Outputable (Pair a) |
Methods ppr :: Pair a -> SDoc Source pprPrec :: Rational -> Pair a -> SDoc Source
Outputable a => Outputable (OrdList a) |
Methods ppr :: OrdList a -> SDoc Source pprPrec :: Rational -> OrdList a -> SDoc Source
Outputable a => Outputable (Bag a) |
Methods ppr :: Bag a -> SDoc Source pprPrec :: Rational -> Bag a -> SDoc Source
Outputable node => Outputable (Graph node) |
Methods ppr :: Graph node -> SDoc Source pprPrec :: Rational -> Graph node -> 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 (UniqDFM a) |
Methods ppr :: UniqDFM a -> SDoc Source pprPrec :: Rational -> UniqDFM a -> SDoc Source
Outputable a => Outputable (BooleanFormula a) |
Methods ppr :: BooleanFormula a -> SDoc Source pprPrec :: Rational -> BooleanFormula a -> SDoc Source
Outputable a => Outputable (OccEnv a) |
Methods ppr :: OccEnv a -> SDoc Source pprPrec :: Rational -> OccEnv a -> SDoc Source
Outputable name => Outputable (AnnTarget name) |
Methods ppr :: AnnTarget name -> SDoc Source pprPrec :: Rational -> AnnTarget name -> 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 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 (CoreMap a) |
Methods ppr :: CoreMap a -> SDoc Source pprPrec :: Rational -> CoreMap a -> 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 (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
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 RdrName |
Methods pprBndr :: BindingSite -> RdrName -> SDoc Source pprPrefixOcc :: RdrName -> SDoc Source pprInfixOcc :: RdrName -> 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 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

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"

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