Safe Haskell | None |
---|---|
Language | Haskell2010 |
IfaceType
- type IfExtName = Name
- type IfLclName = FastString
- data IfaceType
- = IfaceTyVar IfLclName
- | IfaceLitTy IfaceTyLit
- | IfaceAppTy IfaceType IfaceType
- | IfaceFunTy IfaceType IfaceType
- | IfaceDFunTy IfaceType IfaceType
- | IfaceForAllTy IfaceForAllBndr IfaceType
- | IfaceTyConApp IfaceTyCon IfaceTcArgs
- | IfaceCastTy IfaceType IfaceCoercion
- | IfaceCoercionTy IfaceCoercion
- | IfaceTupleTy TupleSort IfaceTyConInfo IfaceTcArgs
- type IfacePredType = IfaceType
- type IfaceKind = IfaceType
- data IfaceCoercion
- = IfaceReflCo Role IfaceType
- | IfaceFunCo Role IfaceCoercion IfaceCoercion
- | IfaceTyConAppCo Role IfaceTyCon [IfaceCoercion]
- | IfaceAppCo IfaceCoercion IfaceCoercion
- | IfaceForAllCo IfaceTvBndr IfaceCoercion IfaceCoercion
- | IfaceCoVarCo IfLclName
- | IfaceAxiomInstCo IfExtName BranchIndex [IfaceCoercion]
- | IfaceUnivCo IfaceUnivCoProv Role IfaceType IfaceType
- | IfaceSymCo IfaceCoercion
- | IfaceTransCo IfaceCoercion IfaceCoercion
- | IfaceNthCo Int IfaceCoercion
- | IfaceLRCo LeftOrRight IfaceCoercion
- | IfaceInstCo IfaceCoercion IfaceCoercion
- | IfaceCoherenceCo IfaceCoercion IfaceCoercion
- | IfaceKindCo IfaceCoercion
- | IfaceSubCo IfaceCoercion
- | IfaceAxiomRuleCo IfLclName [IfaceCoercion]
- data IfaceUnivCoProv
- data IfaceTyCon = IfaceTyCon {}
- data IfaceTyConInfo
- data IfaceTyLit
- data IfaceTcArgs
- type IfaceContext = [IfacePredType]
- data IfaceBndr
- data IfaceOneShot
- type IfaceLamBndr = (IfaceBndr, IfaceOneShot)
- type IfaceTvBndr = (IfLclName, IfaceKind)
- type IfaceIdBndr = (IfLclName, IfaceType)
- data IfaceForAllBndr = IfaceTv IfaceTvBndr VisibilityFlag
- data VisibilityFlag
- data IfRnEnv2
- emptyIfRnEnv2 :: IfRnEnv2
- eqIfaceType :: IfRnEnv2 -> IfaceType -> IfaceType -> Bool
- eqIfaceTypes :: IfRnEnv2 -> [IfaceType] -> [IfaceType] -> Bool
- eqIfaceTcArgs :: IfRnEnv2 -> IfaceTcArgs -> IfaceTcArgs -> Bool
- eqIfaceTvBndrs :: IfRnEnv2 -> [IfaceTvBndr] -> [IfaceTvBndr] -> Maybe IfRnEnv2
- toIfaceType :: Type -> IfaceType
- toIfaceTypes :: [Type] -> [IfaceType]
- toIfaceKind :: Type -> IfaceType
- toIfaceTyVar :: TyVar -> FastString
- toIfaceContext :: ThetaType -> IfaceContext
- toIfaceBndr :: Var -> IfaceBndr
- toIfaceIdBndr :: Id -> (IfLclName, IfaceType)
- toIfaceTyCon :: TyCon -> IfaceTyCon
- toIfaceTyCon_name :: Name -> IfaceTyCon
- toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs
- toIfaceTvBndrs :: [TyVar] -> [IfaceTvBndr]
- tcArgsIfaceTypes :: IfaceTcArgs -> [IfaceType]
- toIfaceCoercion :: Coercion -> IfaceCoercion
- pprIfaceType :: IfaceType -> SDoc
- pprParendIfaceType :: IfaceType -> SDoc
- pprIfaceContext :: Outputable a => [a] -> SDoc
- pprIfaceContextArr :: Outputable a => [a] -> SDoc
- pprIfaceContextMaybe :: Outputable a => [a] -> Maybe SDoc
- pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc
- pprIfaceLamBndr :: IfaceLamBndr -> SDoc
- pprIfaceTvBndr :: IfaceTvBndr -> SDoc
- pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc
- pprIfaceBndrs :: [IfaceBndr] -> SDoc
- pprIfaceTcArgs :: IfaceTcArgs -> SDoc
- pprParendIfaceTcArgs :: IfaceTcArgs -> SDoc
- pprIfaceForAllPart :: [IfaceForAllBndr] -> [IfaceType] -> SDoc -> SDoc
- pprIfaceForAll :: [IfaceForAllBndr] -> SDoc
- pprIfaceSigmaType :: IfaceType -> SDoc
- pprIfaceCoercion :: IfaceCoercion -> SDoc
- pprParendIfaceCoercion :: IfaceCoercion -> SDoc
- splitIfaceSigmaTy :: IfaceType -> ([IfaceForAllBndr], [IfacePredType], IfaceType)
- pprIfaceTypeApp :: IfaceTyCon -> IfaceTcArgs -> SDoc
- pprUserIfaceForAll :: [IfaceForAllBndr] -> SDoc
- suppressIfaceInvisibles :: DynFlags -> [IfaceForAllBndr] -> [a] -> [a]
- stripIfaceInvisVars :: DynFlags -> [IfaceForAllBndr] -> [IfaceForAllBndr]
- stripInvisArgs :: DynFlags -> IfaceTcArgs -> IfaceTcArgs
- substIfaceType :: IfaceTySubst -> IfaceType -> IfaceType
- substIfaceTyVar :: IfaceTySubst -> IfLclName -> IfaceType
- substIfaceTcArgs :: IfaceTySubst -> IfaceTcArgs -> IfaceTcArgs
- mkIfaceTySubst :: [IfaceTvBndr] -> [IfaceType] -> IfaceTySubst
- eqIfaceTvBndr :: IfaceTvBndr -> IfaceTvBndr -> Bool
Documentation
type IfLclName = FastString
data IfaceType
Constructors
Instances
type IfacePredType = IfaceType
data IfaceCoercion
Constructors
Instances
data IfaceUnivCoProv
Constructors
IfaceUnsafeCoerceProv | |
IfacePhantomProv IfaceCoercion | |
IfaceProofIrrelProv IfaceCoercion | |
IfacePluginProv String |
Instances
data IfaceTcArgs
Constructors
ITC_Nil | |
ITC_Vis IfaceType IfaceTcArgs | |
ITC_Invis IfaceKind IfaceTcArgs |
Instances
type IfaceContext = [IfacePredType]
type IfaceLamBndr = (IfaceBndr, IfaceOneShot)
type IfaceTvBndr = (IfLclName, IfaceKind)
type IfaceIdBndr = (IfLclName, IfaceType)
data VisibilityFlag
data IfRnEnv2
eqIfaceType :: IfRnEnv2 -> IfaceType -> IfaceType -> Bool
eqIfaceTypes :: IfRnEnv2 -> [IfaceType] -> [IfaceType] -> Bool
eqIfaceTcArgs :: IfRnEnv2 -> IfaceTcArgs -> IfaceTcArgs -> Bool
eqIfaceTvBndrs :: IfRnEnv2 -> [IfaceTvBndr] -> [IfaceTvBndr] -> Maybe IfRnEnv2
toIfaceType :: Type -> IfaceType
toIfaceTypes :: [Type] -> [IfaceType]
toIfaceKind :: Type -> IfaceType
toIfaceTyVar :: TyVar -> FastString
toIfaceBndr :: Var -> IfaceBndr
toIfaceIdBndr :: Id -> (IfLclName, IfaceType)
toIfaceTyCon :: TyCon -> IfaceTyCon
toIfaceTyCon_name :: Name -> IfaceTyCon
toIfaceTcArgs :: TyCon -> [Type] -> IfaceTcArgs
toIfaceTvBndrs :: [TyVar] -> [IfaceTvBndr]
tcArgsIfaceTypes :: IfaceTcArgs -> [IfaceType]
pprIfaceType :: IfaceType -> SDoc
pprParendIfaceType :: IfaceType -> SDoc
pprIfaceContext :: Outputable a => [a] -> SDoc
pprIfaceContextArr :: Outputable a => [a] -> SDoc
pprIfaceContextMaybe :: Outputable a => [a] -> Maybe SDoc
pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc
pprIfaceLamBndr :: IfaceLamBndr -> SDoc
pprIfaceTvBndr :: IfaceTvBndr -> SDoc
pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc
pprIfaceBndrs :: [IfaceBndr] -> SDoc
pprIfaceTcArgs :: IfaceTcArgs -> SDoc
pprIfaceForAllPart :: [IfaceForAllBndr] -> [IfaceType] -> SDoc -> SDoc
pprIfaceForAll :: [IfaceForAllBndr] -> SDoc
Render the "forall ... ." or "forall ... ->" bit of a type.
pprIfaceSigmaType :: IfaceType -> SDoc
splitIfaceSigmaTy :: IfaceType -> ([IfaceForAllBndr], [IfacePredType], IfaceType)
pprIfaceTypeApp :: IfaceTyCon -> IfaceTcArgs -> SDoc
pprUserIfaceForAll :: [IfaceForAllBndr] -> SDoc
suppressIfaceInvisibles :: DynFlags -> [IfaceForAllBndr] -> [a] -> [a]
stripIfaceInvisVars :: DynFlags -> [IfaceForAllBndr] -> [IfaceForAllBndr]
stripInvisArgs :: DynFlags -> IfaceTcArgs -> IfaceTcArgs
substIfaceType :: IfaceTySubst -> IfaceType -> IfaceType
substIfaceTyVar :: IfaceTySubst -> IfLclName -> IfaceType
substIfaceTcArgs :: IfaceTySubst -> IfaceTcArgs -> IfaceTcArgs
mkIfaceTySubst :: [IfaceTvBndr] -> [IfaceType] -> IfaceTySubst
eqIfaceTvBndr :: IfaceTvBndr -> IfaceTvBndr -> Bool