[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / uniType / Class.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Class where
3 import Id(Id)
4 import InstEnv(InstTemplate)
5 import Maybes(Labda)
6 import Name(Name)
7 import NameTypes(FullName, ShortName)
8 import Outputable(NamedThing, Outputable)
9 import PreludePS(_PackedString)
10 import TyCon(TyCon)
11 import TyVar(TyVarTemplate)
12 import UniType(UniType)
13 import Unique(Unique)
14 data Class   = MkClass Unique FullName TyVarTemplate [Class] [Id] [ClassOp] [Id] [Id] [(UniType, InstTemplate)] [(Class, [Class])]
15 data ClassOp   = MkClassOp _PackedString Int UniType
16 data Id 
17 data InstTemplate 
18 data Labda a 
19 data Name 
20 data FullName 
21 data TyVarTemplate 
22 data UniType 
23 data Unique 
24 cmpClass :: Class -> Class -> Int#
25 derivableClassKeys :: [Unique]
26 getClassBigSig :: Class -> (TyVarTemplate, [Class], [Id], [ClassOp], [Id], [Id])
27 getClassInstEnv :: Class -> [(UniType, InstTemplate)]
28 getClassKey :: Class -> Unique
29 getClassOpId :: Class -> ClassOp -> Id
30 getClassOpLocalType :: ClassOp -> UniType
31 getClassOpString :: ClassOp -> _PackedString
32 getClassOpTag :: ClassOp -> Int
33 getClassOps :: Class -> [ClassOp]
34 getClassSig :: Class -> (TyVarTemplate, [Class], [ClassOp])
35 getConstMethodId :: Class -> ClassOp -> UniType -> Id
36 getDefaultMethodId :: Class -> ClassOp -> Id
37 getSuperDictSelId :: Class -> Class -> Id
38 isNumericClass :: Class -> Bool
39 isStandardClass :: Class -> Bool
40 isSuperClassOf :: Class -> Class -> Labda [Class]
41 mkClass :: Name -> TyVarTemplate -> [Class] -> [Id] -> [ClassOp] -> [Id] -> [Id] -> [(UniType, InstTemplate)] -> Class
42 mkClassOp :: _PackedString -> Int -> UniType -> ClassOp
43 instance Eq Class
44 instance Eq ClassOp
45 instance Ord Class
46 instance Ord ClassOp
47 instance NamedThing Class
48 instance Outputable Class
49 instance Outputable ClassOp
50