IfaceType
Documentation
type IfLclName = FastString
data IfaceType
Constructors
| IfaceTyVar IfLclName | |
| IfaceAppTy IfaceType IfaceType | |
| IfaceForAllTy IfaceTvBndr IfaceType | |
| IfacePredTy IfacePredType | |
| IfaceTyConApp IfaceTyCon [IfaceType] | |
| IfaceFunTy IfaceType IfaceType |
Instances
data IfacePredType
Constructors
| IfaceClassP IfExtName [IfaceType] | |
| IfaceIParam (IPName OccName) IfaceType | |
| IfaceEqPred IfaceType IfaceType |
Instances
data IfaceTyCon
Constructors
Instances
type IfaceContext = [IfacePredType]
type IfaceTvBndr = (IfLclName, IfaceKind)
type IfaceIdBndr = (IfLclName, IfaceType)
type IfaceCoercion = IfaceType
toIfaceType :: Type -> IfaceType
toIfacePred :: PredType -> IfacePredType
toIfaceBndr :: Var -> IfaceBndr
toIfaceIdBndr :: Id -> (IfLclName, IfaceType)
toIfaceTvBndrs :: [TyVar] -> [(IfLclName, IfaceType)]
toIfaceTyCon :: TyCon -> IfaceTyCon
toIfaceTyCon_name :: Name -> IfaceTyCon
pprIfaceType :: IfaceType -> SDoc
pprParendIfaceType :: IfaceType -> SDoc
pprIfaceContext :: IfaceContext -> SDoc
pprIfaceIdBndr :: (IfLclName, IfaceType) -> SDoc
pprIfaceTvBndr :: IfaceTvBndr -> SDoc
pprIfaceTvBndrs :: [IfaceTvBndr] -> SDoc
pprIfaceBndrs :: [IfaceBndr] -> SDoc
tYCON_PREC :: Int
maybeParen :: Int -> Int -> SDoc -> SDoc
pprIfaceForAllPart :: [IfaceTvBndr] -> IfaceContext -> SDoc -> SDoc