[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / uniType / TyVar.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface TyVar where
3 import NameTypes(ShortName)
4 import Outputable(NamedThing, Outputable)
5 import PreludePS(_PackedString)
6 import UniType(UniType)
7 import Unique(Unique)
8 data ShortName 
9 data TyVar   = PrimSysTyVar Unique | PolySysTyVar Unique | OpenSysTyVar Unique | UserTyVar Unique ShortName
10 data TyVarTemplate 
11 alphaTyVars :: [TyVarTemplate]
12 alpha_tv :: TyVarTemplate
13 alpha_tyvar :: TyVar
14 beta_tv :: TyVarTemplate
15 beta_tyvar :: TyVar
16 cloneTyVar :: TyVar -> Unique -> TyVar
17 cloneTyVarFromTemplate :: TyVarTemplate -> Unique -> TyVar
18 cmpTyVar :: TyVar -> TyVar -> Int#
19 delta_tv :: TyVarTemplate
20 delta_tyvar :: TyVar
21 epsilon_tv :: TyVarTemplate
22 epsilon_tyvar :: TyVar
23 eqTyVar :: TyVar -> TyVar -> Bool
24 gamma_tv :: TyVarTemplate
25 gamma_tyvar :: TyVar
26 instantiateTyVarTemplates :: [TyVarTemplate] -> [Unique] -> ([(TyVarTemplate, UniType)], [TyVar], [UniType])
27 ltTyVar :: TyVar -> TyVar -> Bool
28 mkOpenSysTyVar :: Unique -> TyVar
29 mkPolySysTyVar :: Unique -> TyVar
30 mkSysTyVarTemplate :: Unique -> _PackedString -> TyVarTemplate
31 mkTemplateTyVars :: [TyVar] -> [TyVarTemplate]
32 mkUserTyVar :: Unique -> ShortName -> TyVar
33 mkUserTyVarTemplate :: Unique -> ShortName -> TyVarTemplate
34 instance Eq TyVar
35 instance Eq TyVarTemplate
36 instance Ord TyVar
37 instance Ord TyVarTemplate
38 instance NamedThing TyVar
39 instance NamedThing TyVarTemplate
40 instance Outputable TyVar
41 instance Outputable TyVarTemplate
42