ghc-9.10.3: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Iface.Syntax

Contents

- Binding names

Synopsis

- module GHC.Iface.Type
- data IfaceDecl
  - = IfaceId {
    - ifName :: IfaceTopBndr
    - ifType :: IfaceType
    - ifIdDetails :: IfaceIdDetails
    - ifIdInfo :: IfaceIdInfo
    }
  - | IfaceData {
    - ifName :: IfaceTopBndr
    - ifBinders :: [IfaceTyConBinder]
    - ifResKind :: IfaceType
    - ifCType :: Maybe CType
    - ifRoles :: [Role]
    - ifCtxt :: IfaceContext
    - ifCons :: IfaceConDecls
    - ifGadtSyntax :: Bool
    - ifParent :: IfaceTyConParent
    }
  - | IfaceSynonym {
    - ifName :: IfaceTopBndr
    - ifRoles :: [Role]
    - ifBinders :: [IfaceTyConBinder]
    - ifResKind :: IfaceKind
    - ifSynRhs :: IfaceType
    }
  - | IfaceFamily {
    - ifName :: IfaceTopBndr
    - ifResVar :: Maybe IfLclName
    - ifBinders :: [IfaceTyConBinder]
    - ifResKind :: IfaceKind
    - ifFamFlav :: IfaceFamTyConFlav
    - ifFamInj :: Injectivity
    }
  - | IfaceClass {
    - ifName :: IfaceTopBndr
    - ifRoles :: [Role]
    - ifBinders :: [IfaceTyConBinder]
    - ifFDs :: [FunDep IfLclName]
    - ifBody :: IfaceClassBody
    }
  - | IfaceAxiom {
    - ifName :: IfaceTopBndr
    - ifTyCon :: IfaceTyCon
    - ifRole :: Role
    - ifAxBranches :: [IfaceAxBranch]
    }
  - | IfacePatSyn {
    - ifName :: IfaceTopBndr
    - ifPatIsInfix :: Bool
    - ifPatMatcher :: (IfExtName, Bool)
    - ifPatBuilder :: Maybe (IfExtName, Bool)
    - ifPatUnivBndrs :: [IfaceForAllSpecBndr]
    - ifPatExBndrs :: [IfaceForAllSpecBndr]
    - ifPatProvCtxt :: IfaceContext
    - ifPatReqCtxt :: IfaceContext
    - ifPatArgs :: [IfaceType]
    - ifPatTy :: IfaceType
    - ifFieldLabels :: [FieldLabel]
    }
- data IfaceFamTyConFlav
  - = IfaceDataFamilyTyCon
  - | IfaceOpenSynFamilyTyCon
  - | IfaceClosedSynFamilyTyCon (Maybe (IfExtName, [IfaceAxBranch]))
  - | IfaceAbstractClosedSynFamilyTyCon
  - | IfaceBuiltInSynFamTyCon
- data IfaceClassOp = IfaceClassOp IfaceTopBndr IfaceType (Maybe (DefMethSpec IfaceType))
- data IfaceAT = IfaceAT IfaceDecl (Maybe IfaceType)
- data IfaceConDecl = IfCon {
  - ifConName :: IfaceTopBndr
  - ifConWrapper :: Bool
  - ifConInfix :: Bool
  - ifConExTCvs :: [IfaceBndr]
  - ifConUserTvBinders :: [IfaceForAllSpecBndr]
  - ifConEqSpec :: IfaceEqSpec
  - ifConCtxt :: IfaceContext
  - ifConArgTys :: [(IfaceMult, IfaceType)]
  - ifConFields :: [FieldLabel]
  - ifConStricts :: [IfaceBang]
  - ifConSrcStricts :: [IfaceSrcBang]
  }
- data IfaceConDecls
  - = IfAbstractTyCon
  - | IfDataTyCon !Bool [IfaceConDecl]
  - | IfNewTyCon IfaceConDecl
- type IfaceEqSpec = [(IfLclName, IfaceType)]
- data IfaceExpr
  - = IfaceLcl IfLclName
  - | IfaceExt IfExtName
  - | IfaceType IfaceType
  - | IfaceCo IfaceCoercion
  - | IfaceTuple TupleSort [IfaceExpr]
  - | IfaceLam IfaceLamBndr IfaceExpr
  - | IfaceApp IfaceExpr IfaceExpr
  - | IfaceCase IfaceExpr IfLclName [IfaceAlt]
  - | IfaceECase IfaceExpr IfaceType
  - | IfaceLet (IfaceBinding IfaceLetBndr) IfaceExpr
  - | IfaceCast IfaceExpr IfaceCoercion
  - | IfaceLit Literal
  - | IfaceLitRubbish TypeOrConstraint IfaceType
  - | IfaceFCall ForeignCall IfaceType
  - | IfaceTick IfaceTickish IfaceExpr
- data IfaceAlt = IfaceAlt IfaceConAlt [IfLclName] IfaceExpr
- data IfaceLetBndr = IfLetBndr IfLclName IfaceType IfaceIdInfo JoinPointHood
- type IfaceBinding b = IfaceBindingX IfaceExpr b
- data IfaceBindingX r b
  - = IfaceNonRec b r
  - | IfaceRec [(b, r)]
- data IfaceMaybeRhs
  - = IfUseUnfoldingRhs
  - | IfRhs IfaceExpr
- data IfaceConAlt
  - = IfaceDefault
  - | IfaceDataAlt IfExtName
  - | IfaceLitAlt Literal
- type IfaceIdInfo = [IfaceInfoItem]
- data IfaceIdDetails
  - = IfVanillaId
  - | IfWorkerLikeId [CbvMark]
  - | IfRecSelId {
    - ifRecSelIdParent :: Either IfaceTyCon IfaceDecl
    - ifRecSelFirstCon :: IfaceTopBndr
    - ifRecSelIdIsNaughty :: Bool
    - ifRecSelIdFieldLabel :: FieldLabel
    }
  - | IfDFunId
- data IfaceUnfolding
  - = IfCoreUnfold UnfoldingSource IfUnfoldingCache IfGuidance IfaceExpr
  - | IfDFunUnfold [IfaceBndr] [IfaceExpr]
- data IfGuidance
  - = IfNoGuidance
  - | IfWhen Arity Bool Bool
- data IfaceInfoItem
  - = HsArity Arity
  - | HsDmdSig DmdSig
  - | HsCprSig CprSig
  - | HsInline InlinePragma
  - | HsUnfold Bool IfaceUnfolding
  - | HsNoCafRefs
  - | HsLFInfo IfaceLFInfo
  - | HsTagSig TagSig
- data IfaceRule = IfaceRule {
  - ifRuleName :: RuleName
  - ifActivation :: Activation
  - ifRuleBndrs :: [IfaceBndr]
  - ifRuleHead :: IfExtName
  - ifRuleArgs :: [IfaceExpr]
  - ifRuleRhs :: IfaceExpr
  - ifRuleAuto :: Bool
  - ifRuleOrph :: IsOrphan
  }
- data IfaceAnnotation = IfaceAnnotation {
  - ifAnnotatedTarget :: IfaceAnnTarget
  - ifAnnotatedValue :: AnnPayload
  }
- type IfaceAnnTarget = AnnTarget OccName
- data IfaceWarnings
  - = IfWarnAll IfaceWarningTxt
  - | IfWarnSome [(OccName, IfaceWarningTxt)] [(IfExtName, IfaceWarningTxt)]
- data IfaceWarningTxt
  - = IfWarningTxt (Maybe WarningCategory) SourceText [(IfaceStringLiteral, [IfExtName])]
  - | IfDeprecatedTxt SourceText [(IfaceStringLiteral, [IfExtName])]
- data IfaceStringLiteral = IfStringLiteral SourceText FastString
- data IfaceClsInst = IfaceClsInst {
  - ifInstCls :: IfExtName
  - ifInstTys :: [Maybe IfaceTyCon]
  - ifDFun :: IfExtName
  - ifOFlag :: OverlapFlag
  - ifInstOrph :: IsOrphan
  - ifInstWarn :: Maybe IfaceWarningTxt
  }
- data IfaceFamInst = IfaceFamInst {
  - ifFamInstFam :: IfExtName
  - ifFamInstTys :: [Maybe IfaceTyCon]
  - ifFamInstAxiom :: IfExtName
  - ifFamInstOrph :: IsOrphan
  }
- data IfaceTickish
  - = IfaceHpcTick Module Int
  - | IfaceSCC CostCentre Bool Bool
  - | IfaceSource RealSrcSpan FastString
  - | IfaceBreakpoint Int [IfaceExpr] Module
- data IfaceClassBody
  - = IfAbstractClass
  - | IfConcreteClass {
    - ifClassCtxt :: IfaceContext
    - ifATs :: [IfaceAT]
    - ifSigs :: [IfaceClassOp]
    - ifMinDef :: IfaceBooleanFormula
    }
- data IfaceBooleanFormula
  - = IfVar IfLclName
  - | IfAnd [IfaceBooleanFormula]
  - | IfOr [IfaceBooleanFormula]
  - | IfParens IfaceBooleanFormula
- data IfaceBang
  - = IfNoBang
  - | IfStrict
  - | IfUnpack
  - | IfUnpackCo IfaceCoercion
- data IfaceSrcBang = IfSrcBang SrcUnpackedness SrcStrictness
- data SrcUnpackedness
  - = SrcUnpack
  - | SrcNoUnpack
  - | NoSrcUnpack
- data SrcStrictness
  - = SrcLazy
  - | SrcStrict
  - | NoSrcStrict
- data IfaceAxBranch = IfaceAxBranch {
  - ifaxbTyVars :: [IfaceTvBndr]
  - ifaxbEtaTyVars :: [IfaceTvBndr]
  - ifaxbCoVars :: [IfaceIdBndr]
  - ifaxbLHS :: IfaceAppArgs
  - ifaxbRoles :: [Role]
  - ifaxbRHS :: IfaceType
  - ifaxbIncomps :: [BranchIndex]
  }
- data IfaceTyConParent
  - = IfNoParent
  - | IfDataInstance IfExtName IfaceTyCon IfaceAppArgs
- data IfaceCompleteMatch = IfaceCompleteMatch [IfExtName] (Maybe IfaceTyCon)
- data IfaceLFInfo
  - = IfLFReEntrant !RepArity
  - | IfLFThunk !Bool !Bool
  - | IfLFCon !Name
  - | IfLFUnknown !Bool
  - | IfLFUnlifted
- data IfaceTopBndrInfo
  - = IfLclTopBndr IfLclName IfaceType IfaceIdInfo IfaceIdDetails
  - | IfGblTopBndr IfaceTopBndr
- type IfaceTopBndr = Name
- putIfaceTopBndr :: BinHandle -> IfaceTopBndr -> IO ()
- getIfaceTopBndr :: BinHandle -> IO IfaceTopBndr
- ifaceDeclImplicitBndrs :: IfaceDecl -> [OccName]
- visibleIfConDecls :: IfaceConDecls -> [IfaceConDecl]
- ifaceDeclFingerprints :: Fingerprint -> IfaceDecl -> [(OccName, Fingerprint)]
- fromIfaceBooleanFormula :: IfaceBooleanFormula -> BooleanFormula IfLclName
- fromIfaceWarnings :: IfaceWarnings -> Warnings GhcRn
- fromIfaceWarningTxt :: IfaceWarningTxt -> WarningTxt GhcRn
- freeNamesIfDecl :: IfaceDecl -> NameSet
- freeNamesIfRule :: IfaceRule -> NameSet
- freeNamesIfFamInst :: IfaceFamInst -> NameSet
- freeNamesIfConDecls :: IfaceConDecls -> NameSet
- pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc
- pprIfaceDecl :: ShowSub -> IfaceDecl -> SDoc
- newtype AltPpr = AltPpr (Maybe (OccName -> SDoc))
- data ShowSub = ShowSub {
  - ss_how_much :: ShowHowMuch
  - ss_forall :: ShowForAllFlag
  }
- data ShowHowMuch
  - = ShowHeader AltPpr
  - | ShowSome (Maybe (OccName -> Bool)) AltPpr
  - | ShowIface
- showToIface :: ShowSub
- showToHeader :: ShowSub

# Documentation

module GHC.Iface.Type

data IfaceDecl Source #

Constructors

IfaceId |

Fields

- ifName :: IfaceTopBndr
- ifType :: IfaceType
- ifIdDetails :: IfaceIdDetails
- ifIdInfo :: IfaceIdInfo

IfaceData |

Fields

- ifName :: IfaceTopBndr
- ifBinders :: [IfaceTyConBinder]
- ifResKind :: IfaceType
- ifCType :: Maybe CType
- ifRoles :: [Role]
- ifCtxt :: IfaceContext
- ifCons :: IfaceConDecls
- ifGadtSyntax :: Bool
- ifParent :: IfaceTyConParent

IfaceSynonym |

Fields

- ifName :: IfaceTopBndr
- ifRoles :: [Role]
- ifBinders :: [IfaceTyConBinder]
- ifResKind :: IfaceKind
- ifSynRhs :: IfaceType

IfaceFamily |

Fields

- ifName :: IfaceTopBndr
- ifResVar :: Maybe IfLclName
- ifBinders :: [IfaceTyConBinder]
- ifResKind :: IfaceKind
- ifFamFlav :: IfaceFamTyConFlav
- ifFamInj :: Injectivity

IfaceClass |

Fields

- ifName :: IfaceTopBndr
- ifRoles :: [Role]
- ifBinders :: [IfaceTyConBinder]
- ifFDs :: [FunDep IfLclName]
- ifBody :: IfaceClassBody

IfaceAxiom |

Fields

- ifName :: IfaceTopBndr
- ifTyCon :: IfaceTyCon
- ifRole :: Role
- ifAxBranches :: [IfaceAxBranch]

IfacePatSyn |

Fields

- ifName :: IfaceTopBndr
- ifPatIsInfix :: Bool
- ifPatMatcher :: (IfExtName, Bool)
- ifPatBuilder :: Maybe (IfExtName, Bool)
- ifPatUnivBndrs :: [IfaceForAllSpecBndr]
- ifPatExBndrs :: [IfaceForAllSpecBndr]
- ifPatProvCtxt :: IfaceContext
- ifPatReqCtxt :: IfaceContext
- ifPatArgs :: [IfaceType]
- ifPatTy :: IfaceType
- ifFieldLabels :: [FieldLabel]

#### Instances

Instances details

NFData IfaceDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceDecl -> () Source #
NamedThing IfaceDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods getOccName :: IfaceDecl -> OccName Source # getName :: IfaceDecl -> Name Source #
HasOccName IfaceDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods occName :: IfaceDecl -> OccName Source #
Binary IfaceDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceDecl -> IO () Source # put :: BinHandle -> IfaceDecl -> IO (Bin IfaceDecl) Source # get :: BinHandle -> IO IfaceDecl Source #
Outputable IfaceDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceDecl -> SDoc Source #

data IfaceFamTyConFlav Source #

Constructors

IfaceDataFamilyTyCon |
IfaceOpenSynFamilyTyCon |
IfaceClosedSynFamilyTyCon (Maybe (IfExtName, [IfaceAxBranch])) | Name of associated axiom and branches for pretty printing purposes, or `Nothing` for an empty closed family without an axiom See Note [Pretty printing via Iface syntax] in GHC.Types.TyThing.Ppr
IfaceAbstractClosedSynFamilyTyCon |
IfaceBuiltInSynFamTyCon |

#### Instances

Instances details

NFData IfaceFamTyConFlav Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceFamTyConFlav -> () Source #
Binary IfaceFamTyConFlav Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceFamTyConFlav -> IO () Source # put :: BinHandle -> IfaceFamTyConFlav -> IO (Bin IfaceFamTyConFlav) Source # get :: BinHandle -> IO IfaceFamTyConFlav Source #

data IfaceClassOp Source #

Constructors

IfaceClassOp IfaceTopBndr IfaceType (Maybe (DefMethSpec IfaceType)) |

#### Instances

Instances details

NFData IfaceClassOp Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceClassOp -> () Source #
NamedThing IfaceClassOp Source # |
Instance details Defined in GHC.Iface.Syntax Methods getOccName :: IfaceClassOp -> OccName Source # getName :: IfaceClassOp -> Name Source #
HasOccName IfaceClassOp Source # |
Instance details Defined in GHC.Iface.Syntax Methods occName :: IfaceClassOp -> OccName Source #
Binary IfaceClassOp Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceClassOp -> IO () Source # put :: BinHandle -> IfaceClassOp -> IO (Bin IfaceClassOp) Source # get :: BinHandle -> IO IfaceClassOp Source #
Outputable IfaceClassOp Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceClassOp -> SDoc Source #

data IfaceAT Source #

Constructors

IfaceAT IfaceDecl (Maybe IfaceType) |

#### Instances

Instances details

NFData IfaceAT Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceAT -> () Source #
Binary IfaceAT Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceAT -> IO () Source # put :: BinHandle -> IfaceAT -> IO (Bin IfaceAT) Source # get :: BinHandle -> IO IfaceAT Source #
Outputable IfaceAT Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceAT -> SDoc Source #

data IfaceConDecl Source #

Constructors

IfCon |

Fields

- ifConName :: IfaceTopBndr
- ifConWrapper :: Bool
- ifConInfix :: Bool
- ifConExTCvs :: [IfaceBndr]
- ifConUserTvBinders :: [IfaceForAllSpecBndr]
- ifConEqSpec :: IfaceEqSpec
- ifConCtxt :: IfaceContext
- ifConArgTys :: [(IfaceMult, IfaceType)]
- ifConFields :: [FieldLabel]
- ifConStricts :: [IfaceBang]
- ifConSrcStricts :: [IfaceSrcBang]

#### Instances

Instances details

NFData IfaceConDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceConDecl -> () Source #
NamedThing IfaceConDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods getOccName :: IfaceConDecl -> OccName Source # getName :: IfaceConDecl -> Name Source #
HasOccName IfaceConDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods occName :: IfaceConDecl -> OccName Source #
Binary IfaceConDecl Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceConDecl -> IO () Source # put :: BinHandle -> IfaceConDecl -> IO (Bin IfaceConDecl) Source # get :: BinHandle -> IO IfaceConDecl Source #

data IfaceConDecls Source #

Constructors

IfAbstractTyCon |
IfDataTyCon !Bool [IfaceConDecl] |
IfNewTyCon IfaceConDecl |

#### Instances

Instances details

NFData IfaceConDecls Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceConDecls -> () Source #
Binary IfaceConDecls Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceConDecls -> IO () Source # put :: BinHandle -> IfaceConDecls -> IO (Bin IfaceConDecls) Source # get :: BinHandle -> IO IfaceConDecls Source #

type IfaceEqSpec = [(IfLclName, IfaceType)] Source #

data IfaceExpr Source #

Constructors

IfaceLcl IfLclName |
IfaceExt IfExtName |
IfaceType IfaceType |
IfaceCo IfaceCoercion |
IfaceTuple TupleSort [IfaceExpr] |
IfaceLam IfaceLamBndr IfaceExpr |
IfaceApp IfaceExpr IfaceExpr |
IfaceCase IfaceExpr IfLclName [IfaceAlt] |
IfaceECase IfaceExpr IfaceType |
IfaceLet (IfaceBinding IfaceLetBndr) IfaceExpr |
IfaceCast IfaceExpr IfaceCoercion |
IfaceLit Literal |
IfaceLitRubbish TypeOrConstraint IfaceType |
IfaceFCall ForeignCall IfaceType |
IfaceTick IfaceTickish IfaceExpr |

#### Instances

Instances details

NFData IfaceExpr Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceExpr -> () Source #
Binary IfaceExpr Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceExpr -> IO () Source # put :: BinHandle -> IfaceExpr -> IO (Bin IfaceExpr) Source # get :: BinHandle -> IO IfaceExpr Source #
Outputable IfaceExpr Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceExpr -> SDoc Source #

data IfaceAlt Source #

Constructors

IfaceAlt IfaceConAlt [IfLclName] IfaceExpr |

#### Instances

Instances details

NFData IfaceAlt Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceAlt -> () Source #
Binary IfaceAlt Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceAlt -> IO () Source # put :: BinHandle -> IfaceAlt -> IO (Bin IfaceAlt) Source # get :: BinHandle -> IO IfaceAlt Source #

data IfaceLetBndr Source #

Constructors

IfLetBndr IfLclName IfaceType IfaceIdInfo JoinPointHood |

#### Instances

Instances details

NFData IfaceLetBndr Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceLetBndr -> () Source #
Binary IfaceLetBndr Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceLetBndr -> IO () Source # put :: BinHandle -> IfaceLetBndr -> IO (Bin IfaceLetBndr) Source # get :: BinHandle -> IO IfaceLetBndr Source #

type IfaceBinding b = IfaceBindingX IfaceExpr b Source #

data IfaceBindingX r b Source #

Constructors

IfaceNonRec b r |
IfaceRec [(b, r)] |

#### Instances

Instances details

Functor (IfaceBindingX r) Source # |
Instance details Defined in GHC.Iface.Syntax Methods fmap :: (a -> b) -> IfaceBindingX r a -> IfaceBindingX r b # (<$) :: a -> IfaceBindingX r b -> IfaceBindingX r a #
Foldable (IfaceBindingX r) Source # |

Instance details

Defined in GHC.Iface.Syntax

Methods

fold :: Monoid m => IfaceBindingX r m -> m #

foldMap :: Monoid m => (a -> m) -> IfaceBindingX r a -> m #

foldMap' :: Monoid m => (a -> m) -> IfaceBindingX r a -> m #

foldr :: (a -> b -> b) -> b -> IfaceBindingX r a -> b #

foldr' :: (a -> b -> b) -> b -> IfaceBindingX r a -> b #

foldl :: (b -> a -> b) -> b -> IfaceBindingX r a -> b #

foldl' :: (b -> a -> b) -> b -> IfaceBindingX r a -> b #

foldr1 :: (a -> a -> a) -> IfaceBindingX r a -> a #

foldl1 :: (a -> a -> a) -> IfaceBindingX r a -> a #

toList :: IfaceBindingX r a -> [a] #

null :: IfaceBindingX r a -> Bool #

length :: IfaceBindingX r a -> Int #

elem :: Eq a => a -> IfaceBindingX r a -> Bool #

maximum :: Ord a => IfaceBindingX r a -> a #

minimum :: Ord a => IfaceBindingX r a -> a #

sum :: Num a => IfaceBindingX r a -> a #

product :: Num a => IfaceBindingX r a -> a #

Traversable (IfaceBindingX r) Source # |
Instance details Defined in GHC.Iface.Syntax Methods traverse :: Applicative f => (a -> f b) -> IfaceBindingX r a -> f (IfaceBindingX r b) # sequenceA :: Applicative f => IfaceBindingX r (f a) -> f (IfaceBindingX r a) # mapM :: Monad m => (a -> m b) -> IfaceBindingX r a -> m (IfaceBindingX r b) # sequence :: Monad m => IfaceBindingX r (m a) -> m (IfaceBindingX r a) #
(NFData b, NFData a) => NFData (IfaceBindingX a b) Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceBindingX a b -> () Source #
(Binary r, Binary b) => Binary (IfaceBindingX b r) Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceBindingX b r -> IO () Source # put :: BinHandle -> IfaceBindingX b r -> IO (Bin (IfaceBindingX b r)) Source # get :: BinHandle -> IO (IfaceBindingX b r) Source #
(Outputable r, Outputable b) => Outputable (IfaceBindingX r b) Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceBindingX r b -> SDoc Source #
(Eq b, Eq r) => Eq (IfaceBindingX r b) Source # |
Instance details Defined in GHC.Iface.Syntax Methods (==) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool # (/=) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #
(Ord b, Ord r) => Ord (IfaceBindingX r b) Source # |

Instance details

Defined in GHC.Iface.Syntax

Methods

compare :: IfaceBindingX r b -> IfaceBindingX r b -> Ordering #

(<) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

(<=) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

(>) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

(>=) :: IfaceBindingX r b -> IfaceBindingX r b -> Bool #

max :: IfaceBindingX r b -> IfaceBindingX r b -> IfaceBindingX r b #

min :: IfaceBindingX r b -> IfaceBindingX r b -> IfaceBindingX r b #

data IfaceMaybeRhs Source #

Constructors

IfUseUnfoldingRhs |
IfRhs IfaceExpr |

#### Instances

Instances details

NFData IfaceMaybeRhs Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceMaybeRhs -> () Source #
Binary IfaceMaybeRhs Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceMaybeRhs -> IO () Source # put :: BinHandle -> IfaceMaybeRhs -> IO (Bin IfaceMaybeRhs) Source # get :: BinHandle -> IO IfaceMaybeRhs Source #
Outputable IfaceMaybeRhs Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceMaybeRhs -> SDoc Source #

data IfaceConAlt Source #

Constructors

IfaceDefault |
IfaceDataAlt IfExtName |
IfaceLitAlt Literal |

#### Instances

Instances details

NFData IfaceConAlt Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceConAlt -> () Source #
Binary IfaceConAlt Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceConAlt -> IO () Source # put :: BinHandle -> IfaceConAlt -> IO (Bin IfaceConAlt) Source # get :: BinHandle -> IO IfaceConAlt Source #
Outputable IfaceConAlt Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceConAlt -> SDoc Source #

type IfaceIdInfo = [IfaceInfoItem] Source #

data IfaceIdDetails Source #

Constructors

IfVanillaId |
IfWorkerLikeId [CbvMark] |
IfRecSelId |

Fields

- ifRecSelIdParent :: Either IfaceTyCon IfaceDecl
- ifRecSelFirstCon :: IfaceTopBndr
- ifRecSelIdIsNaughty :: Bool
- ifRecSelIdFieldLabel :: FieldLabel

IfDFunId |

#### Instances

Instances details

NFData IfaceIdDetails Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceIdDetails -> () Source #
Binary IfaceIdDetails Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceIdDetails -> IO () Source # put :: BinHandle -> IfaceIdDetails -> IO (Bin IfaceIdDetails) Source # get :: BinHandle -> IO IfaceIdDetails Source #
Outputable IfaceIdDetails Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceIdDetails -> SDoc Source #

data IfaceUnfolding Source #

Constructors

IfCoreUnfold UnfoldingSource IfUnfoldingCache IfGuidance IfaceExpr |
IfDFunUnfold [IfaceBndr] [IfaceExpr] |

#### Instances

Instances details

NFData IfaceUnfolding Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceUnfolding -> () Source #
Binary IfaceUnfolding Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceUnfolding -> IO () Source # put :: BinHandle -> IfaceUnfolding -> IO (Bin IfaceUnfolding) Source # get :: BinHandle -> IO IfaceUnfolding Source #
Outputable IfaceUnfolding Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceUnfolding -> SDoc Source #

data IfGuidance Source #

Constructors

IfNoGuidance |
IfWhen Arity Bool Bool |

#### Instances

Instances details

NFData IfGuidance Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfGuidance -> () Source #
Binary IfGuidance Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfGuidance -> IO () Source # put :: BinHandle -> IfGuidance -> IO (Bin IfGuidance) Source # get :: BinHandle -> IO IfGuidance Source #
Outputable IfGuidance Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfGuidance -> SDoc Source #

data IfaceInfoItem Source #

Constructors

HsArity Arity |
HsDmdSig DmdSig |
HsCprSig CprSig |
HsInline InlinePragma |
HsUnfold Bool IfaceUnfolding |
HsNoCafRefs |
HsLFInfo IfaceLFInfo |
HsTagSig TagSig |

#### Instances

Instances details

NFData IfaceInfoItem Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceInfoItem -> () Source #
Binary IfaceInfoItem Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceInfoItem -> IO () Source # put :: BinHandle -> IfaceInfoItem -> IO (Bin IfaceInfoItem) Source # get :: BinHandle -> IO IfaceInfoItem Source #
Outputable IfaceInfoItem Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceInfoItem -> SDoc Source #

data IfaceRule Source #

Constructors

IfaceRule |

Fields

- ifRuleName :: RuleName
- ifActivation :: Activation
- ifRuleBndrs :: [IfaceBndr]
- ifRuleHead :: IfExtName
- ifRuleArgs :: [IfaceExpr]
- ifRuleRhs :: IfaceExpr
- ifRuleAuto :: Bool
- ifRuleOrph :: IsOrphan

#### Instances

Instances details

NFData IfaceRule Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceRule -> () Source #
Binary IfaceRule Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceRule -> IO () Source # put :: BinHandle -> IfaceRule -> IO (Bin IfaceRule) Source # get :: BinHandle -> IO IfaceRule Source #
Outputable IfaceRule Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceRule -> SDoc Source #

data IfaceAnnotation Source #

Constructors

IfaceAnnotation |

Fields

- ifAnnotatedTarget :: IfaceAnnTarget
- ifAnnotatedValue :: AnnPayload

#### Instances

Instances details

NFData IfaceAnnotation Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceAnnotation -> () Source #
Binary IfaceAnnotation Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceAnnotation -> IO () Source # put :: BinHandle -> IfaceAnnotation -> IO (Bin IfaceAnnotation) Source # get :: BinHandle -> IO IfaceAnnotation Source #
Outputable IfaceAnnotation Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceAnnotation -> SDoc Source #

type IfaceAnnTarget = AnnTarget OccName Source #

data IfaceWarnings Source #

Constructors

IfWarnAll IfaceWarningTxt |
IfWarnSome [(OccName, IfaceWarningTxt)] [(IfExtName, IfaceWarningTxt)] |

#### Instances

Instances details

NFData IfaceWarnings Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceWarnings -> () Source #
Binary IfaceWarnings Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceWarnings -> IO () Source # put :: BinHandle -> IfaceWarnings -> IO (Bin IfaceWarnings) Source # get :: BinHandle -> IO IfaceWarnings Source #
Outputable IfaceWarnings Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceWarnings -> SDoc Source #

data IfaceWarningTxt Source #

Constructors

IfWarningTxt (Maybe WarningCategory) SourceText [(IfaceStringLiteral, [IfExtName])] |
IfDeprecatedTxt SourceText [(IfaceStringLiteral, [IfExtName])] |

#### Instances

Instances details

NFData IfaceWarningTxt Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceWarningTxt -> () Source #
Binary IfaceWarningTxt Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceWarningTxt -> IO () Source # put :: BinHandle -> IfaceWarningTxt -> IO (Bin IfaceWarningTxt) Source # get :: BinHandle -> IO IfaceWarningTxt Source #
Outputable IfaceWarningTxt Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceWarningTxt -> SDoc Source #

data IfaceStringLiteral Source #

Constructors

IfStringLiteral SourceText FastString |

#### Instances

Instances details

NFData IfaceStringLiteral Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceStringLiteral -> () Source #
Binary IfaceStringLiteral Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceStringLiteral -> IO () Source # put :: BinHandle -> IfaceStringLiteral -> IO (Bin IfaceStringLiteral) Source # get :: BinHandle -> IO IfaceStringLiteral Source #
Outputable IfaceStringLiteral Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceStringLiteral -> SDoc Source #

data IfaceClsInst Source #

Constructors

IfaceClsInst |

Fields

- ifInstCls :: IfExtName
- ifInstTys :: [Maybe IfaceTyCon]
- ifDFun :: IfExtName
- ifOFlag :: OverlapFlag
- ifInstOrph :: IsOrphan
- ifInstWarn :: Maybe IfaceWarningTxt

#### Instances

Instances details

NFData IfaceClsInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceClsInst -> () Source #
Binary IfaceClsInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceClsInst -> IO () Source # put :: BinHandle -> IfaceClsInst -> IO (Bin IfaceClsInst) Source # get :: BinHandle -> IO IfaceClsInst Source #
Outputable IfaceClsInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceClsInst -> SDoc Source #

data IfaceFamInst Source #

Constructors

IfaceFamInst |

Fields

- ifFamInstFam :: IfExtName
- ifFamInstTys :: [Maybe IfaceTyCon]
- ifFamInstAxiom :: IfExtName
- ifFamInstOrph :: IsOrphan

#### Instances

Instances details

NFData IfaceFamInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceFamInst -> () Source #
Binary IfaceFamInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceFamInst -> IO () Source # put :: BinHandle -> IfaceFamInst -> IO (Bin IfaceFamInst) Source # get :: BinHandle -> IO IfaceFamInst Source #
Outputable IfaceFamInst Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceFamInst -> SDoc Source #

data IfaceTickish Source #

Constructors

IfaceHpcTick Module Int |
IfaceSCC CostCentre Bool Bool |
IfaceSource RealSrcSpan FastString |
IfaceBreakpoint Int [IfaceExpr] Module |

#### Instances

Instances details

NFData IfaceTickish Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceTickish -> () Source #
Binary IfaceTickish Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceTickish -> IO () Source # put :: BinHandle -> IfaceTickish -> IO (Bin IfaceTickish) Source # get :: BinHandle -> IO IfaceTickish Source #

data IfaceClassBody Source #

Constructors

IfAbstractClass |
IfConcreteClass |

Fields

- ifClassCtxt :: IfaceContext
- ifATs :: [IfaceAT]
- ifSigs :: [IfaceClassOp]
- ifMinDef :: IfaceBooleanFormula

#### Instances

Instances details

NFData IfaceClassBody Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceClassBody -> () Source #

data IfaceBooleanFormula Source #

Constructors

IfVar IfLclName |
IfAnd [IfaceBooleanFormula] |
IfOr [IfaceBooleanFormula] |
IfParens IfaceBooleanFormula |

#### Instances

Instances details

NFData IfaceBooleanFormula Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceBooleanFormula -> () Source #
Binary IfaceBooleanFormula Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceBooleanFormula -> IO () Source # put :: BinHandle -> IfaceBooleanFormula -> IO (Bin IfaceBooleanFormula) Source # get :: BinHandle -> IO IfaceBooleanFormula Source #

data IfaceBang Source #

This corresponds to an HsImplBang; that is, the final implementation decision about the data constructor arg

Constructors

IfNoBang |
IfStrict |
IfUnpack |
IfUnpackCo IfaceCoercion |

#### Instances

Instances details

NFData IfaceBang Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceBang -> () Source #
Binary IfaceBang Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceBang -> IO () Source # put :: BinHandle -> IfaceBang -> IO (Bin IfaceBang) Source # get :: BinHandle -> IO IfaceBang Source #

data IfaceSrcBang Source #

This corresponds to HsSrcBang

Constructors

IfSrcBang SrcUnpackedness SrcStrictness |

#### Instances

Instances details

NFData IfaceSrcBang Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceSrcBang -> () Source #
Binary IfaceSrcBang Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceSrcBang -> IO () Source # put :: BinHandle -> IfaceSrcBang -> IO (Bin IfaceSrcBang) Source # get :: BinHandle -> IO IfaceSrcBang Source #

data SrcUnpackedness Source #

Source Unpackedness

What unpackedness the user requested

Constructors

SrcUnpack | {-# UNPACK #-} specified
SrcNoUnpack | {-# NOUNPACK #-} specified
NoSrcUnpack | no unpack pragma

#### Instances

Instances details

Binary SrcUnpackedness Source # |
Instance details Defined in GHC.Core.DataCon Methods put_ :: BinHandle -> SrcUnpackedness -> IO () Source # put :: BinHandle -> SrcUnpackedness -> IO (Bin SrcUnpackedness) Source # get :: BinHandle -> IO SrcUnpackedness Source #
Outputable SrcUnpackedness Source # |
Instance details Defined in GHC.Core.DataCon Methods ppr :: SrcUnpackedness -> SDoc Source #
Data SrcUnpackedness Source # |

Instance details

Defined in Language.Haskell.Syntax.Basic

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcUnpackedness -> c SrcUnpackedness #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcUnpackedness #

toConstr :: SrcUnpackedness -> Constr #

dataTypeOf :: SrcUnpackedness -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcUnpackedness) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcUnpackedness) #

gmapT :: (forall b. Data b => b -> b) -> SrcUnpackedness -> SrcUnpackedness #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcUnpackedness -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcUnpackedness -> r #

gmapQ :: (forall d. Data d => d -> u) -> SrcUnpackedness -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcUnpackedness -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness #

Eq SrcUnpackedness Source # |
Instance details Defined in Language.Haskell.Syntax.Basic Methods (==) :: SrcUnpackedness -> SrcUnpackedness -> Bool # (/=) :: SrcUnpackedness -> SrcUnpackedness -> Bool #

data SrcStrictness Source #

Source Strictness

What strictness annotation the user wrote

Constructors

SrcLazy | Lazy, ie `~`
SrcStrict | Strict, ie `!`
NoSrcStrict | no strictness annotation

#### Instances

Instances details

Binary SrcStrictness Source # |
Instance details Defined in GHC.Core.DataCon Methods put_ :: BinHandle -> SrcStrictness -> IO () Source # put :: BinHandle -> SrcStrictness -> IO (Bin SrcStrictness) Source # get :: BinHandle -> IO SrcStrictness Source #
Outputable SrcStrictness Source # |
Instance details Defined in GHC.Core.DataCon Methods ppr :: SrcStrictness -> SDoc Source #
Data SrcStrictness Source # |

Instance details

Defined in Language.Haskell.Syntax.Basic

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcStrictness -> c SrcStrictness #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcStrictness #

toConstr :: SrcStrictness -> Constr #

dataTypeOf :: SrcStrictness -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcStrictness) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcStrictness) #

gmapT :: (forall b. Data b => b -> b) -> SrcStrictness -> SrcStrictness #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcStrictness -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcStrictness -> r #

gmapQ :: (forall d. Data d => d -> u) -> SrcStrictness -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcStrictness -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness #

Eq SrcStrictness Source # |
Instance details Defined in Language.Haskell.Syntax.Basic Methods (==) :: SrcStrictness -> SrcStrictness -> Bool # (/=) :: SrcStrictness -> SrcStrictness -> Bool #

data IfaceAxBranch Source #

Constructors

IfaceAxBranch |

Fields

- ifaxbTyVars :: [IfaceTvBndr]
- ifaxbEtaTyVars :: [IfaceTvBndr]
- ifaxbCoVars :: [IfaceIdBndr]
- ifaxbLHS :: IfaceAppArgs
- ifaxbRoles :: [Role]
- ifaxbRHS :: IfaceType
- ifaxbIncomps :: [BranchIndex]

#### Instances

Instances details

NFData IfaceAxBranch Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceAxBranch -> () Source #
Binary IfaceAxBranch Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceAxBranch -> IO () Source # put :: BinHandle -> IfaceAxBranch -> IO (Bin IfaceAxBranch) Source # get :: BinHandle -> IO IfaceAxBranch Source #

data IfaceTyConParent Source #

Constructors

IfNoParent |
IfDataInstance IfExtName IfaceTyCon IfaceAppArgs |

#### Instances

Instances details

NFData IfaceTyConParent Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceTyConParent -> () Source #
Binary IfaceTyConParent Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceTyConParent -> IO () Source # put :: BinHandle -> IfaceTyConParent -> IO (Bin IfaceTyConParent) Source # get :: BinHandle -> IO IfaceTyConParent Source #
Outputable IfaceTyConParent Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceTyConParent -> SDoc Source #

data IfaceCompleteMatch Source #

Constructors

IfaceCompleteMatch [IfExtName] (Maybe IfaceTyCon) |

#### Instances

Instances details

NFData IfaceCompleteMatch Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceCompleteMatch -> () Source #
Binary IfaceCompleteMatch Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceCompleteMatch -> IO () Source # put :: BinHandle -> IfaceCompleteMatch -> IO (Bin IfaceCompleteMatch) Source # get :: BinHandle -> IO IfaceCompleteMatch Source #
Outputable IfaceCompleteMatch Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceCompleteMatch -> SDoc Source #

data IfaceLFInfo Source #

Iface type for LambdaFormInfo. Fields not relevant for imported Ids are omitted in this type.

Constructors

IfLFReEntrant !RepArity |
IfLFThunk !Bool !Bool |
IfLFCon !Name |
IfLFUnknown !Bool |
IfLFUnlifted |

#### Instances

Instances details

Binary IfaceLFInfo Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceLFInfo -> IO () Source # put :: BinHandle -> IfaceLFInfo -> IO (Bin IfaceLFInfo) Source # get :: BinHandle -> IO IfaceLFInfo Source #
Outputable IfaceLFInfo Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceLFInfo -> SDoc Source #

data IfaceTopBndrInfo Source #

Constructors

IfLclTopBndr IfLclName IfaceType IfaceIdInfo IfaceIdDetails |
IfGblTopBndr IfaceTopBndr |

#### Instances

Instances details

NFData IfaceTopBndrInfo Source # |
Instance details Defined in GHC.Iface.Syntax Methods rnf :: IfaceTopBndrInfo -> () Source #
Binary IfaceTopBndrInfo Source # |
Instance details Defined in GHC.Iface.Syntax Methods put_ :: BinHandle -> IfaceTopBndrInfo -> IO () Source # put :: BinHandle -> IfaceTopBndrInfo -> IO (Bin IfaceTopBndrInfo) Source # get :: BinHandle -> IO IfaceTopBndrInfo Source #
Outputable IfaceTopBndrInfo Source # |
Instance details Defined in GHC.Iface.Syntax Methods ppr :: IfaceTopBndrInfo -> SDoc Source #

# Binding names

type IfaceTopBndr = Name Source #

A binding top-level `Name` in an interface file (e.g. the name of an `IfaceDecl`).

putIfaceTopBndr :: BinHandle -> IfaceTopBndr -> IO () Source #

getIfaceTopBndr :: BinHandle -> IO IfaceTopBndr Source #

ifaceDeclImplicitBndrs :: IfaceDecl -> [OccName] Source #

visibleIfConDecls :: IfaceConDecls -> [IfaceConDecl] Source #

ifaceDeclFingerprints :: Fingerprint -> IfaceDecl -> [(OccName, Fingerprint)] Source #

fromIfaceBooleanFormula :: IfaceBooleanFormula -> BooleanFormula IfLclName Source #

fromIfaceWarnings :: IfaceWarnings -> Warnings GhcRn Source #

fromIfaceWarningTxt :: IfaceWarningTxt -> WarningTxt GhcRn Source #

freeNamesIfDecl :: IfaceDecl -> NameSet Source #

freeNamesIfRule :: IfaceRule -> NameSet Source #

freeNamesIfFamInst :: IfaceFamInst -> NameSet Source #

freeNamesIfConDecls :: IfaceConDecls -> NameSet Source #

pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc Source #

Pretty Print an IfaceExpr

The first argument should be a function that adds parens in context that need an atomic value (e.g. function args)

pprIfaceDecl :: ShowSub -> IfaceDecl -> SDoc Source #

newtype AltPpr Source #

Constructors

AltPpr (Maybe (OccName -> SDoc)) |

data ShowSub Source #

Constructors

ShowSub |

Fields

- ss_how_much :: ShowHowMuch
- ss_forall :: ShowForAllFlag

data ShowHowMuch Source #

Constructors

ShowHeader AltPpr | Header information only, not rhs
ShowSome (Maybe (OccName -> Bool)) AltPpr | Show the declaration and its RHS. The `Maybe` predicate allows filtering of the sub-components which should be printing; any sub-components filtered out will be elided with `...`.
ShowIface | Everything including GHC-internal information (used in --show-iface)

#### Instances

Instances details

Outputable ShowHowMuch Source # |
Instance details Defined in GHC.Iface.Type Methods ppr :: ShowHowMuch -> SDoc Source #

showToIface :: ShowSub Source #

Show declaration and its RHS, including GHc-internal information (e.g. for `--show-iface`).

showToHeader :: ShowSub Source #

Show a declaration but not its RHS.