{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface TyVar where import NameTypes(ShortName) import Outputable(NamedThing, Outputable) import PreludePS(_PackedString) import UniType(UniType) import Unique(Unique) data ShortName data TyVar = PrimSysTyVar Unique | PolySysTyVar Unique | OpenSysTyVar Unique | UserTyVar Unique ShortName data TyVarTemplate alphaTyVars :: [TyVarTemplate] alpha_tv :: TyVarTemplate alpha_tyvar :: TyVar beta_tv :: TyVarTemplate beta_tyvar :: TyVar cloneTyVar :: TyVar -> Unique -> TyVar cloneTyVarFromTemplate :: TyVarTemplate -> Unique -> TyVar cmpTyVar :: TyVar -> TyVar -> Int# delta_tv :: TyVarTemplate delta_tyvar :: TyVar epsilon_tv :: TyVarTemplate epsilon_tyvar :: TyVar eqTyVar :: TyVar -> TyVar -> Bool gamma_tv :: TyVarTemplate gamma_tyvar :: TyVar instantiateTyVarTemplates :: [TyVarTemplate] -> [Unique] -> ([(TyVarTemplate, UniType)], [TyVar], [UniType]) ltTyVar :: TyVar -> TyVar -> Bool mkOpenSysTyVar :: Unique -> TyVar mkPolySysTyVar :: Unique -> TyVar mkSysTyVarTemplate :: Unique -> _PackedString -> TyVarTemplate mkTemplateTyVars :: [TyVar] -> [TyVarTemplate] mkUserTyVar :: Unique -> ShortName -> TyVar mkUserTyVarTemplate :: Unique -> ShortName -> TyVarTemplate instance Eq TyVar instance Eq TyVarTemplate instance Ord TyVar instance Ord TyVarTemplate instance NamedThing TyVar instance NamedThing TyVarTemplate instance Outputable TyVar instance Outputable TyVarTemplate