| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
IfaceSyn
- module IfaceType
- data IfaceDecl
- = IfaceId { }
- | IfaceData {
- ifName :: OccName
- ifCType :: Maybe CType
- ifTyVars :: [IfaceTvBndr]
- ifRoles :: [Role]
- ifCtxt :: IfaceContext
- ifCons :: IfaceConDecls
- ifRec :: RecFlag
- ifPromotable :: Bool
- ifGadtSyntax :: Bool
- ifAxiom :: Maybe IfExtName
- | IfaceSyn {
- ifName :: OccName
- ifTyVars :: [IfaceTvBndr]
- ifRoles :: [Role]
- ifSynKind :: IfaceKind
- ifSynRhs :: IfaceSynTyConRhs
- | IfaceClass {
- ifCtxt :: IfaceContext
- ifName :: OccName
- ifTyVars :: [IfaceTvBndr]
- ifRoles :: [Role]
- ifFDs :: [FunDep FastString]
- ifATs :: [IfaceAT]
- ifSigs :: [IfaceClassOp]
- ifMinDef :: BooleanFormula OccName
- ifRec :: RecFlag
- | IfaceAxiom {
- ifName :: OccName
- ifTyCon :: IfaceTyCon
- ifRole :: Role
- ifAxBranches :: [IfaceAxBranch]
- | IfaceForeign { }
- | IfacePatSyn { }
- data IfaceSynTyConRhs
- data IfaceClassOp = IfaceClassOp OccName DefMethSpec IfaceType
- data IfaceAT = IfaceAT IfaceDecl [IfaceAxBranch]
- data IfaceConDecl = IfCon {
- ifConOcc :: OccName
- ifConWrapper :: Bool
- ifConInfix :: Bool
- ifConUnivTvs :: [IfaceTvBndr]
- ifConExTvs :: [IfaceTvBndr]
- ifConEqSpec :: [(OccName, IfaceType)]
- ifConCtxt :: IfaceContext
- ifConArgTys :: [IfaceType]
- ifConFields :: [OccName]
- ifConStricts :: [IfaceBang]
- data IfaceConDecls
- data IfaceExpr
- = IfaceLcl IfLclName
- | IfaceExt IfExtName
- | IfaceType IfaceType
- | IfaceCo IfaceCoercion
- | IfaceTuple TupleSort [IfaceExpr]
- | IfaceLam IfaceBndr IfaceExpr
- | IfaceApp IfaceExpr IfaceExpr
- | IfaceCase IfaceExpr IfLclName [IfaceAlt]
- | IfaceECase IfaceExpr IfaceType
- | IfaceLet IfaceBinding IfaceExpr
- | IfaceCast IfaceExpr IfaceCoercion
- | IfaceLit Literal
- | IfaceFCall ForeignCall IfaceType
- | IfaceTick IfaceTickish IfaceExpr
- type IfaceAlt = (IfaceConAlt, [IfLclName], IfaceExpr)
- data IfaceLetBndr = IfLetBndr IfLclName IfaceType IfaceIdInfo
- data IfaceBinding
- data IfaceConAlt
- data IfaceIdInfo
- = NoInfo
- | HasInfo [IfaceInfoItem]
- data IfaceIdDetails
- data IfaceUnfolding
- data IfaceInfoItem
- data IfaceRule = IfaceRule {}
- data IfaceAnnotation = IfaceAnnotation {}
- type IfaceAnnTarget = AnnTarget OccName
- data IfaceClsInst = IfaceClsInst {}
- data IfaceFamInst = IfaceFamInst {}
- data IfaceTickish
- data IfaceBang
- data IfaceAxBranch = IfaceAxBranch {
- ifaxbTyVars :: [IfaceTvBndr]
- ifaxbLHS :: [IfaceType]
- ifaxbRoles :: [Role]
- ifaxbRHS :: IfaceType
- ifaxbIncomps :: [BranchIndex]
- ifaceDeclImplicitBndrs :: IfaceDecl -> [OccName]
- visibleIfConDecls :: IfaceConDecls -> [IfaceConDecl]
- ifaceDeclFingerprints :: Fingerprint -> IfaceDecl -> [(OccName, Fingerprint)]
- freeNamesIfDecl :: IfaceDecl -> NameSet
- freeNamesIfRule :: IfaceRule -> NameSet
- freeNamesIfFamInst :: IfaceFamInst -> NameSet
- pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc
Documentation
module IfaceType
data IfaceDecl
Constructors
Instances
data IfaceSynTyConRhs
Constructors
| IfaceOpenSynFamilyTyCon | |
| IfaceClosedSynFamilyTyCon IfExtName | |
| IfaceAbstractClosedSynFamilyTyCon | |
| IfaceSynonymTyCon IfaceType |
Instances
data IfaceConDecl
Constructors
| IfCon | |
Fields
| |
Instances
data IfaceConDecls
Constructors
| IfAbstractTyCon Bool | |
| IfDataFamTyCon | |
| IfDataTyCon [IfaceConDecl] | |
| IfNewTyCon IfaceConDecl |
Instances
data IfaceExpr
Constructors
Instances
type IfaceAlt = (IfaceConAlt, [IfLclName], IfaceExpr)
data IfaceBinding
Constructors
| IfaceNonRec IfaceLetBndr IfaceExpr | |
| IfaceRec [(IfaceLetBndr, IfaceExpr)] |
Instances
data IfaceUnfolding
Constructors
| IfCoreUnfold Bool IfaceExpr | |
| IfCompulsory IfaceExpr | |
| IfInlineRule Arity Bool Bool IfaceExpr | |
| IfDFunUnfold [IfaceBndr] [IfaceExpr] |
Instances
data IfaceInfoItem
Constructors
| HsArity Arity | |
| HsStrictness StrictSig | |
| HsInline InlinePragma | |
| HsUnfold Bool IfaceUnfolding | |
| HsNoCafRefs |
Instances
data IfaceRule
Constructors
| IfaceRule | |
Fields
| |
Instances
type IfaceAnnTarget = AnnTarget OccName
data IfaceClsInst
Constructors
| IfaceClsInst | |
Fields
| |
Instances
data IfaceBang
Constructors
| IfNoBang | |
| IfStrict | |
| IfUnpack | |
| IfUnpackCo IfaceCoercion |
data IfaceAxBranch
Constructors
| IfaceAxBranch | |
Fields
| |
Instances
ifaceDeclImplicitBndrs :: IfaceDecl -> [OccName]
ifaceDeclFingerprints :: Fingerprint -> IfaceDecl -> [(OccName, Fingerprint)]
freeNamesIfDecl :: IfaceDecl -> NameSet
Finding the Names in IfaceSyn
freeNamesIfRule :: IfaceRule -> NameSet
pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc
Pretty Print an IfaceExpre
The first argument should be a function that adds parens in context that need an atomic value (e.g. function args)