Safe Haskell | None |
---|
IfaceSyn
- module IfaceType
- data IfaceDecl
- = IfaceId { }
- | IfaceData {
- ifName :: OccName
- ifTyVars :: [IfaceTvBndr]
- ifCtxt :: IfaceContext
- ifCons :: IfaceConDecls
- ifRec :: RecFlag
- ifGadtSyntax :: Bool
- ifFamInst :: Maybe (IfaceTyCon, [IfaceType])
- | IfaceSyn { }
- | IfaceClass {
- ifCtxt :: IfaceContext
- ifName :: OccName
- ifTyVars :: [IfaceTvBndr]
- ifFDs :: [FunDep FastString]
- ifATs :: [IfaceAT]
- ifSigs :: [IfaceClassOp]
- ifRec :: RecFlag
- | IfaceForeign { }
- data IfaceClassOp = IfaceClassOp OccName DefMethSpec IfaceType
- data IfaceAT = IfaceAT IfaceDecl [IfaceATDefault]
- data IfaceATDefault = IfaceATD [IfaceTvBndr] [IfaceType] IfaceType
- data IfaceConDecl = IfCon {
- ifConOcc :: OccName
- ifConWrapper :: Bool
- ifConInfix :: Bool
- ifConUnivTvs :: [IfaceTvBndr]
- ifConExTvs :: [IfaceTvBndr]
- ifConEqSpec :: [(OccName, IfaceType)]
- ifConCtxt :: IfaceContext
- ifConArgTys :: [IfaceType]
- ifConFields :: [OccName]
- ifConStricts :: [HsBang]
- data IfaceConDecls
- data IfaceExpr
- = IfaceLcl IfLclName
- | IfaceExt IfExtName
- | IfaceType IfaceType
- | IfaceCo IfaceType
- | IfaceTuple TupleSort [IfaceExpr]
- | IfaceLam IfaceBndr IfaceExpr
- | IfaceApp IfaceExpr IfaceExpr
- | IfaceCase IfaceExpr IfLclName [IfaceAlt]
- | 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 IfaceInst = IfaceInst {}
- data IfaceFamInst = IfaceFamInst {}
- data IfaceTickish
- ifaceDeclSubBndrs :: IfaceDecl -> [OccName]
- visibleIfConDecls :: IfaceConDecls -> [IfaceConDecl]
- freeNamesIfDecl :: IfaceDecl -> NameSet
- freeNamesIfRule :: IfaceRule -> NameSet
- pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDoc
- pprIfaceDeclHead :: IfaceContext -> OccName -> [IfaceTvBndr] -> SDoc
Documentation
module IfaceType
Constructors
IfaceId | |
Fields
| |
IfaceData | |
Fields
| |
IfaceSyn | |
IfaceClass | |
Fields
| |
IfaceForeign | |
Fields
|
Instances
Constructors
IfaceAT IfaceDecl [IfaceATDefault] |
Instances
data IfaceConDecl Source
Constructors
IfCon | |
Fields
|
Instances
data IfaceConDecls Source
Constructors
IfAbstractTyCon Bool | |
IfOpenDataTyCon | |
IfDataTyCon [IfaceConDecl] | |
IfNewTyCon IfaceConDecl |
Instances
Constructors
Instances
type IfaceAlt = (IfaceConAlt, [IfLclName], IfaceExpr)Source
data IfaceBinding Source
Constructors
IfaceNonRec IfaceLetBndr IfaceExpr | |
IfaceRec [(IfaceLetBndr, IfaceExpr)] |
Instances
data IfaceConAlt Source
Constructors
IfaceDefault | |
IfaceDataAlt IfExtName | |
IfaceLitAlt Literal |
Instances
data IfaceUnfolding Source
Constructors
IfCoreUnfold Bool IfaceExpr | |
IfCompulsory IfaceExpr | |
IfInlineRule Arity Bool Bool IfaceExpr | |
IfExtWrapper Arity IfExtName | |
IfLclWrapper Arity IfLclName | |
IfDFunUnfold [IfaceExpr] |
Instances
data IfaceInfoItem Source
Constructors
HsArity Arity | |
HsStrictness StrictSig | |
HsInline InlinePragma | |
HsUnfold Bool IfaceUnfolding | |
HsNoCafRefs |
Instances
Constructors
IfaceRule | |
Fields
|
Instances
type IfaceAnnTarget = AnnTarget OccNameSource
Constructors
IfaceInst | |
Fields
|
Instances
ifaceDeclSubBndrs :: IfaceDecl -> [OccName]Source
freeNamesIfDecl :: IfaceDecl -> NameSetSource
Finding the Names in IfaceSyn
pprIfaceExpr :: (SDoc -> SDoc) -> IfaceExpr -> SDocSource
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)
pprIfaceDeclHead :: IfaceContext -> OccName -> [IfaceTvBndr] -> SDocSource