| Safe Haskell | None | 
|---|
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]
 - ifRec :: RecFlag
 
 - | IfaceAxiom { 
- ifName :: OccName
 - ifTyCon :: IfaceTyCon
 - ifRole :: Role
 - ifAxBranches :: [IfaceAxBranch]
 
 - | IfaceForeign { }
 
 - 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 
- = IfNoBang
 - | IfStrict
 - | IfUnpack
 - | IfUnpackCo IfaceCoercion
 
 - 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
 - pprIfaceDeclHead :: IfaceContext -> OccName -> [IfaceTvBndr] -> [Role] -> SDoc
 
Documentation
module IfaceType
Constructors
| IfaceId | |
Fields 
  | |
| IfaceData | |
Fields 
  | |
| IfaceSyn | |
Fields 
  | |
| IfaceClass | |
Fields 
  | |
| IfaceAxiom | |
Fields 
  | |
| IfaceForeign | |
Fields 
  | |
Instances
data IfaceSynTyConRhs Source
Constructors
| IfaceOpenSynFamilyTyCon | |
| IfaceClosedSynFamilyTyCon IfExtName | |
| IfaceAbstractClosedSynFamilyTyCon | |
| IfaceSynonymTyCon IfaceType | 
Instances
Constructors
| IfaceAT IfaceDecl [IfaceAxBranch] | 
Instances
data IfaceConDecl Source
Constructors
| IfCon | |
Fields 
  | |
Instances
data IfaceConDecls Source
Constructors
| IfAbstractTyCon Bool | |
| IfDataFamTyCon | |
| 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 [IfaceBndr] [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
data IfaceClsInst Source
Constructors
| IfaceClsInst | |
Fields 
  | |
Instances
Constructors
| IfNoBang | |
| IfStrict | |
| IfUnpack | |
| IfUnpackCo IfaceCoercion | 
data IfaceAxBranch Source
Constructors
| IfaceAxBranch | |
Fields 
  | |
Instances
ifaceDeclFingerprints :: Fingerprint -> IfaceDecl -> [(OccName, Fingerprint)]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] -> [Role] -> SDocSource