{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface Class where import Id(Id) import InstEnv(InstTemplate) import Maybes(Labda) import Name(Name) import NameTypes(FullName, ShortName) import Outputable(NamedThing, Outputable) import PreludePS(_PackedString) import TyCon(TyCon) import TyVar(TyVarTemplate) import UniType(UniType) import Unique(Unique) data Class = MkClass Unique FullName TyVarTemplate [Class] [Id] [ClassOp] [Id] [Id] [(UniType, InstTemplate)] [(Class, [Class])] data ClassOp = MkClassOp _PackedString Int UniType data Id data InstTemplate data Labda a data Name data FullName data TyVarTemplate data UniType data Unique cmpClass :: Class -> Class -> Int# derivableClassKeys :: [Unique] getClassBigSig :: Class -> (TyVarTemplate, [Class], [Id], [ClassOp], [Id], [Id]) getClassInstEnv :: Class -> [(UniType, InstTemplate)] getClassKey :: Class -> Unique getClassOpId :: Class -> ClassOp -> Id getClassOpLocalType :: ClassOp -> UniType getClassOpString :: ClassOp -> _PackedString getClassOpTag :: ClassOp -> Int getClassOps :: Class -> [ClassOp] getClassSig :: Class -> (TyVarTemplate, [Class], [ClassOp]) getConstMethodId :: Class -> ClassOp -> UniType -> Id getDefaultMethodId :: Class -> ClassOp -> Id getSuperDictSelId :: Class -> Class -> Id isNumericClass :: Class -> Bool isStandardClass :: Class -> Bool isSuperClassOf :: Class -> Class -> Labda [Class] mkClass :: Name -> TyVarTemplate -> [Class] -> [Id] -> [ClassOp] -> [Id] -> [Id] -> [(UniType, InstTemplate)] -> Class mkClassOp :: _PackedString -> Int -> UniType -> ClassOp instance Eq Class instance Eq ClassOp instance Ord Class instance Ord ClassOp instance NamedThing Class instance Outputable Class instance Outputable ClassOp