[project @ 2004-08-16 09:51:20 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / HscTypes.lhs
index 5fd475c..9c796ce 100644 (file)
@@ -28,7 +28,7 @@ module HscTypes (
 
        FixityEnv, FixItem(..), lookupFixity, emptyFixityEnv,
 
-       implicitTyThings, isImplicitTyThing,
+       implicitTyThings, 
 
        TyThing(..), tyThingClass, tyThingTyCon, tyThingDataCon, tyThingId,
        TypeEnv, lookupType, mkTypeEnv, emptyTypeEnv,
@@ -74,7 +74,7 @@ import Module
 import InstEnv         ( InstEnv, DFunId )
 import Rules           ( RuleBase )
 import CoreSyn         ( CoreBind )
-import Id              ( Id, isImplicitId )
+import Id              ( Id )
 import Type            ( TyThing(..) )
 
 import Class           ( Class, classSelIds, classTyCon )
@@ -139,7 +139,7 @@ hscEPS hsc_env = readIORef (hsc_EPS hsc_env)
 The GhciMode is self-explanatory:
 
 \begin{code}
-data GhciMode = Batch | Interactive | OneShot 
+data GhciMode = Batch | Interactive | OneShot | IDE
              deriving Eq
 \end{code}
 
@@ -232,7 +232,7 @@ data ModIface
                -- NOT STRICT!  we read this field lazily from the interface file
 
                -- Deprecations
-       mi_deprecs  :: Deprecs [(OccName,DeprecTxt)],
+       mi_deprecs  :: IfaceDeprecs,
                -- NOT STRICT!  we read this field lazily from the interface file
 
                -- Type, class and variable declarations
@@ -431,12 +431,6 @@ unQualInScope env
 %************************************************************************
 
 \begin{code}
-isImplicitTyThing :: TyThing -> Bool
-isImplicitTyThing (ADataCon dc) = True
-isImplicitTyThing (AnId id)     = isImplicitId id
-isImplicitTyThing (ATyCon tc)   = isClassTyCon tc
-isImplicitTyThing other                = False
-
 implicitTyThings :: TyThing -> [TyThing]
 implicitTyThings (AnId id)   = []
 
@@ -664,6 +658,7 @@ type IsBootInterface = Bool
 -- in the import hierarchy.  See TcRnTypes.ImportAvails for details.
 --
 -- Invariant: the dependencies of a module M never includes M
+-- Invariant: the lists are unordered, with no duplicates
 data Dependencies
   = Deps { dep_mods  :: [(ModuleName,IsBootInterface)],        -- Home-package module dependencies
           dep_pkgs  :: [PackageName],                  -- External package dependencies