-- TyVars and "sets" containing TyVars:
SYN_IE(TyVarEnv),
nullTyVarEnv, mkTyVarEnv, addOneToTyVarEnv,
- growTyVarEnvList, isNullTyVarEnv, lookupTyVarEnv,
+ growTyVarEnvList, isNullTyVarEnv, lookupTyVarEnv, delFromTyVarEnv,
SYN_IE(GenTyVarSet), SYN_IE(TyVarSet),
emptyTyVarSet, unitTyVarSet, unionTyVarSets,
) where
CHK_Ubiq() -- debugging consistency check
-IMPORT_DELOOPER(IdLoop) -- for paranoia checking
-- friends
import Usage ( GenUsage, SYN_IE(Usage), usageOmega )
-- others
import UniqSet -- nearly all of it
import UniqFM ( emptyUFM, listToUFM, addToUFM, lookupUFM,
- plusUFM, sizeUFM, UniqFM
+ plusUFM, sizeUFM, delFromUFM, UniqFM
)
-import Name ( mkLocalName, changeUnique, Name, RdrName(..) )
-import Pretty ( SYN_IE(Pretty), PrettyRep, ppBeside, ppPStr )
-import PprStyle ( PprStyle )
---import Outputable ( Outputable(..), NamedThing(..), ExportFlag(..) )
-import SrcLoc ( mkUnknownSrcLoc, SrcLoc )
+import Name ( mkSysLocalName, changeUnique, Name, NamedThing(..) )
+import Pretty ( Doc, (<>), ptext )
+import Outputable ( PprStyle(..), Outputable(..) )
+import SrcLoc ( noSrcLoc, SrcLoc )
import Unique ( showUnique, mkAlphaTyVarUnique, Unique )
+import UniqFM ( Uniquable(..) )
import Util ( panic, Ord3(..) )
\end{code}
growTyVarEnvList :: TyVarEnv a -> [(GenTyVar flexi, a)] -> TyVarEnv a
isNullTyVarEnv :: TyVarEnv a -> Bool
lookupTyVarEnv :: TyVarEnv a -> GenTyVar flexi -> Maybe a
+delFromTyVarEnv :: TyVarEnv a -> GenTyVar flexi -> TyVarEnv a
nullTyVarEnv = emptyUFM
mkTyVarEnv = listToUFM
addOneToTyVarEnv = addToUFM
lookupTyVarEnv = lookupUFM
+delFromTyVarEnv = delFromUFM
growTyVarEnvList env pairs = plusUFM env (listToUFM pairs)
isNullTyVarEnv env = sizeUFM env == 0
instance NamedThing (GenTyVar a) where
getName (TyVar _ _ (Just n) _) = n
- getName (TyVar u _ _ _) = mkLocalName u (showUnique u) True{-emph uniq-} mkUnknownSrcLoc
+ getName (TyVar u _ _ _) = mkSysLocalName u SLIT("t") noSrcLoc
\end{code}