{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface UniTyFuns where import Bag(Bag) import CharSeq(CSeq) import Class(Class, ClassOp) import CmdLineOpts(GlobalSwitch) import Id(Id) import IdEnv(IdEnv(..)) import InstEnv(InstTemplate) import Maybes(Labda) import NameTypes(FullName, ShortName) import PreludePS(_PackedString) import Pretty(Delay, PprStyle, PrettyRep) import PrimKind(PrimKind) import SimplEnv(UnfoldingDetails) import TyCon(TyCon) import TyVar(TyVar, TyVarTemplate) import TyVarEnv(TyVarEnv(..), TypeEnv(..)) import UniType(UniType) import UniqFM(UniqFM) import Unique(Unique, UniqueSupply) data Bag a data Class type IdEnv a = UniqFM a data Labda a data PprStyle data PrettyRep data PrimKind data UnfoldingDetails data TyCon data TyVar data TyVarTemplate type TyVarEnv a = UniqFM a type TypeEnv = UniqFM UniType data UniType data UniqFM a data UniqueSupply applyNonSynTyCon :: TyCon -> [UniType] -> UniType applySynTyCon :: TyCon -> [UniType] -> UniType applyTy :: UniType -> UniType -> UniType applyTyCon :: TyCon -> [UniType] -> UniType applyTypeEnvToThetaTy :: UniqFM UniType -> [(a, UniType)] -> [(a, UniType)] applyTypeEnvToTy :: UniqFM UniType -> UniType -> UniType cmpUniTypeMaybeList :: [Labda UniType] -> [Labda UniType] -> Int# expandVisibleTySyn :: UniType -> UniType extractTyVarTemplatesFromTy :: UniType -> [TyVarTemplate] extractTyVarsFromTy :: UniType -> [TyVar] extractTyVarsFromTys :: [UniType] -> [TyVar] funResultTy :: UniType -> Int -> UniType getMentionedTyCons :: TyCon -> [TyCon] getMentionedTyConsAndClassesFromClass :: Class -> (Bag TyCon, Bag Class) getMentionedTyConsAndClassesFromTyCon :: TyCon -> (Bag TyCon, Bag Class) getMentionedTyConsAndClassesFromUniType :: UniType -> (Bag TyCon, Bag Class) getTauType :: UniType -> UniType getTyVar :: [Char] -> UniType -> TyVar getTyVarMaybe :: UniType -> Labda TyVar getTyVarTemplateMaybe :: UniType -> Labda TyVarTemplate getTypeString :: UniType -> [_PackedString] getUniDataSpecTyCon :: UniType -> (TyCon, [UniType], [Id]) getUniDataSpecTyCon_maybe :: UniType -> Labda (TyCon, [UniType], [Id]) getUniDataTyCon :: UniType -> (TyCon, [UniType], [Id]) getUniDataTyCon_maybe :: UniType -> Labda (TyCon, [UniType], [Id]) getUniTyDescription :: UniType -> [Char] glueTyArgs :: [UniType] -> UniType -> UniType instanceIsExported :: Class -> UniType -> Bool -> Bool isDictTy :: UniType -> Bool isForAllTy :: UniType -> Bool isFunType :: UniType -> Bool isGroundOrTyVarTy :: UniType -> Bool isGroundTy :: UniType -> Bool isLeakFreeType :: [TyCon] -> UniType -> Bool isPrimType :: UniType -> Bool isTauTy :: UniType -> Bool isTyVarTemplateTy :: UniType -> Bool isTyVarTy :: UniType -> Bool isUnboxedDataType :: UniType -> Bool kindFromType :: UniType -> PrimKind mapOverTyVars :: (TyVar -> UniType) -> UniType -> UniType matchTy :: UniType -> UniType -> Labda [(TyVarTemplate, UniType)] maybeBoxedPrimType :: UniType -> Labda (Id, UniType) maybePurelyLocalClass :: Class -> Labda [Int -> Bool -> PrettyRep] maybePurelyLocalTyCon :: TyCon -> Labda [Int -> Bool -> PrettyRep] maybePurelyLocalType :: UniType -> Labda [Int -> Bool -> PrettyRep] maybeUnpackFunTy :: UniType -> Labda (UniType, UniType) mkSuperDictSelType :: Class -> Class -> UniType pprClassOp :: PprStyle -> ClassOp -> Int -> Bool -> PrettyRep pprIfaceClass :: (GlobalSwitch -> Bool) -> (Id -> Id) -> UniqFM UnfoldingDetails -> Class -> Int -> Bool -> PrettyRep pprMaybeTy :: PprStyle -> Labda UniType -> Int -> Bool -> PrettyRep pprParendUniType :: PprStyle -> UniType -> Int -> Bool -> PrettyRep pprTyCon :: PprStyle -> TyCon -> [[Labda UniType]] -> Int -> Bool -> PrettyRep pprUniType :: PprStyle -> UniType -> Int -> Bool -> PrettyRep returnsRealWorld :: UniType -> Bool showTyCon :: PprStyle -> TyCon -> [Char] showTypeCategory :: UniType -> Char specMaybeTysSuffix :: [Labda UniType] -> _PackedString specialiseTy :: UniType -> [Labda UniType] -> Int -> UniType splitDictType :: UniType -> (Class, UniType) splitForalls :: UniType -> ([TyVarTemplate], UniType) splitTyArgs :: UniType -> ([UniType], UniType) splitType :: UniType -> ([TyVarTemplate], [(Class, UniType)], UniType) splitTypeWithDictsAsArgs :: UniType -> ([TyVarTemplate], [UniType], UniType) typeMaybeString :: Labda UniType -> [_PackedString] unDictifyTy :: UniType -> UniType