[project @ 1997-06-05 09:16:04 by sof]
[ghc-hetmet.git] / ghc / compiler / types / TyVar.lhs
index 553ad73..0fdfc32 100644 (file)
@@ -14,7 +14,7 @@ module TyVar (
        -- 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,
@@ -24,7 +24,6 @@ module TyVar (
   ) where
 
 CHK_Ubiq()     -- debugging consistency check
-IMPORT_DELOOPER(IdLoop)        -- for paranoia checking
 
 -- friends
 import Usage           ( GenUsage, SYN_IE(Usage), usageOmega )
@@ -33,14 +32,14 @@ import Kind         ( Kind, mkBoxedTypeKind, mkTypeKind )
 -- 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}
 
@@ -107,11 +106,13 @@ addOneToTyVarEnv :: TyVarEnv a -> GenTyVar flexi -> a -> TyVarEnv a
 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
@@ -160,5 +161,5 @@ instance Uniquable (GenTyVar a) where
 
 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}