Global renamings in HsSyn
[ghc-hetmet.git] / compiler / typecheck / TcRnTypes.lhs
index f66abdc..b7b8bd2 100644 (file)
@@ -43,7 +43,7 @@ module TcRnTypes(
 
 import HsSyn           ( PendingSplice, HsOverLit, LRuleDecl, LForeignDecl,
                          ArithSeqInfo, DictBinds, LHsBinds, LImportDecl, HsGroup,
-                          ExprCoFn, IE )
+                          HsWrapper, IE )
 import HscTypes                ( FixityEnv,
                          HscEnv, TypeEnv, TyThing, 
                          GenAvailInfo(..), AvailInfo, HscSource(..),
@@ -51,8 +51,10 @@ import HscTypes              ( FixityEnv,
 import Packages                ( PackageId )
 import Type            ( Type, pprTyThingCategory )
 import TcType          ( TcTyVarSet, TcType, TcThetaType, SkolemInfo, TvSubst,
-                         TcPredType, TcKind, tcCmpPred, tcCmpType, tcCmpTypes, pprSkolInfo )
+                         TcPredType, TcKind, tcCmpPred, tcCmpType,
+                         tcCmpTypes, pprSkolInfo )
 import InstEnv         ( Instance, InstEnv )
+import FamInstEnv      ( FamInst, FamInstEnv )
 import IOEnv
 import RdrName         ( GlobalRdrEnv, LocalRdrEnv )
 import Name            ( Name )
@@ -153,8 +155,11 @@ data TcGblEnv
                -- bound in this module when dealing with hi-boot recursions
                -- Updated at intervals (e.g. after dealing with types and classes)
        
-       tcg_inst_env :: InstEnv,        -- Instance envt for *home-package* modules
-                                       -- Includes the dfuns in tcg_insts
+       tcg_inst_env     :: InstEnv,    -- Instance envt for *home-package* 
+                                       -- modules; Includes the dfuns in 
+                                       -- tcg_insts
+       tcg_fam_inst_env :: FamInstEnv, -- Ditto for family instances
+
                -- Now a bunch of things about this module that are simply 
                -- accumulated, but never consulted until the end.  
                -- Nevertheless, it's convenient to accumulate them along 
@@ -419,7 +424,7 @@ data TcTyThing
 
   | ATcId   {          -- Ids defined in this module; may not be fully zonked
        tct_id :: TcId,         
-       tct_co :: Maybe ExprCoFn,       -- Nothing <=>  Do not apply a GADT type refinement
+       tct_co :: Maybe HsWrapper,      -- Nothing <=>  Do not apply a GADT type refinement
                                        --              I am wobbly, or have no free
                                        --              type variables
                                        -- Just co <=>  Apply any type refinement to me,