X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fcompiler%2Ftypes%2FTyVar.lhs;h=c963c1df4ef92da2d06d3ee1e134ab3d783d8fb9;hb=0596517a9b4b2b32e5d375a986351102ac4540fc;hp=a448f565b48866c7e4ddcfa8bdb96c97ea3180c6;hpb=6c381e873e222417d9a67aeec77b9555eca7b7a8;p=ghc-hetmet.git diff --git a/ghc/compiler/types/TyVar.lhs b/ghc/compiler/types/TyVar.lhs index a448f56..c963c1d 100644 --- a/ghc/compiler/types/TyVar.lhs +++ b/ghc/compiler/types/TyVar.lhs @@ -15,8 +15,10 @@ module TyVar ( growTyVarEnvList, isNullTyVarEnv, lookupTyVarEnv, GenTyVarSet(..), TyVarSet(..), - emptyTyVarSet, singletonTyVarSet, unionTyVarSets, tyVarListToSet, - tyVarSetToList, elementOfTyVarSet, minusTyVarSet, isEmptyTyVarSet + emptyTyVarSet, singletonTyVarSet, unionTyVarSets, + unionManyTyVarSets, intersectTyVarSets, mkTyVarSet, + tyVarSetToList, elementOfTyVarSet, minusTyVarSet, + isEmptyTyVarSet ) where CHK_Ubiq() -- debugging consistency check @@ -27,11 +29,10 @@ import Usage ( GenUsage, Usage(..), usageOmega ) import Kind ( Kind, mkBoxedTypeKind ) -- others -import UniqSet ( uniqSetToList, emptyUniqSet, singletonUniqSet, minusUniqSet, - unionUniqSets, elementOfUniqSet, isEmptyUniqSet, mkUniqSet, - UniqSet(..) ) +import UniqSet -- nearly all of it import UniqFM ( emptyUFM, listToUFM, addToUFM, lookupUFM, - plusUFM, sizeUFM, UniqFM ) + plusUFM, sizeUFM, UniqFM + ) import Maybes ( Maybe(..) ) import NameTypes ( ShortName ) import Pretty ( Pretty(..), PrettyRep, ppBeside, ppPStr ) @@ -107,22 +108,26 @@ type GenTyVarSet flexi = UniqSet (GenTyVar flexi) type TyVarSet = UniqSet TyVar emptyTyVarSet :: GenTyVarSet flexi +intersectTyVarSets:: GenTyVarSet flexi -> GenTyVarSet flexi -> GenTyVarSet flexi unionTyVarSets :: GenTyVarSet flexi -> GenTyVarSet flexi -> GenTyVarSet flexi +unionManyTyVarSets:: [GenTyVarSet flexi] -> GenTyVarSet flexi tyVarSetToList :: GenTyVarSet flexi -> [GenTyVar flexi] singletonTyVarSet :: GenTyVar flexi -> GenTyVarSet flexi elementOfTyVarSet :: GenTyVar flexi -> GenTyVarSet flexi -> Bool minusTyVarSet :: GenTyVarSet flexi -> GenTyVarSet flexi -> GenTyVarSet flexi isEmptyTyVarSet :: GenTyVarSet flexi -> Bool -tyVarListToSet :: [GenTyVar flexi] -> GenTyVarSet flexi +mkTyVarSet :: [GenTyVar flexi] -> GenTyVarSet flexi emptyTyVarSet = emptyUniqSet singletonTyVarSet = singletonUniqSet +intersectTyVarSets= intersectUniqSets unionTyVarSets = unionUniqSets +unionManyTyVarSets= unionManyUniqSets tyVarSetToList = uniqSetToList elementOfTyVarSet = elementOfUniqSet minusTyVarSet = minusUniqSet isEmptyTyVarSet = isEmptyUniqSet -tyVarListToSet = mkUniqSet +mkTyVarSet = mkUniqSet \end{code} Instance delarations