X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypecheck%2FTcModule.lhs;h=cdfb8f5a14205529ac43d55a39643a05999ec5e8;hb=c4f3290f3d4c2a5c2e81a97717f7fd06ee180f6d;hp=7a6cb156d6d9b9ce6cb6360293b4158df25b8be5;hpb=c29022c49449b7d8862dcc2259e16cafe9461945;p=ghc-hetmet.git diff --git a/ghc/compiler/typecheck/TcModule.lhs b/ghc/compiler/typecheck/TcModule.lhs index 7a6cb15..cdfb8f5 100644 --- a/ghc/compiler/typecheck/TcModule.lhs +++ b/ghc/compiler/typecheck/TcModule.lhs @@ -14,21 +14,17 @@ module TcModule ( import CmdLineOpts ( opt_D_dump_tc, opt_D_dump_deriv ) import HsSyn ( HsModule(..), HsBinds(..), MonoBinds(..), HsDecl(..) ) -import RnHsSyn ( RenamedHsModule, RenamedFixityDecl(..) ) -import TcHsSyn ( TypecheckedHsBinds, TypecheckedHsExpr, - TypecheckedDictBinds, TcMonoBinds, - TypecheckedMonoBinds, - zonkTopBinds ) +import RnHsSyn ( RenamedHsModule ) +import TcHsSyn ( TcMonoBinds, TypecheckedMonoBinds, zonkTopBinds ) import TcMonad import Inst ( Inst, emptyLIE, plusLIE ) import TcBinds ( tcTopBindsAndThen ) import TcClassDcl ( tcClassDecls2 ) import TcDefaults ( tcDefaults ) -import TcEnv ( TcIdOcc(..), tcExtendGlobalValEnv, tcExtendTyConEnv, getEnv_LocalIds, +import TcEnv ( TcIdOcc(..), tcExtendGlobalValEnv, tcExtendTyConEnv, getEnv_TyCons, getEnv_Classes, tcLookupLocalValue, - tcLookupLocalValueByKey, tcLookupTyCon, - tcLookupGlobalValueByKeyMaybe, initEnv ) + tcLookupTyCon, initEnv ) import TcExpr ( tcId ) import TcIfaceSig ( tcInterfaceSigs ) import TcInstDcls ( tcInstDecls1, tcInstDecls2 ) @@ -42,26 +38,23 @@ import TcKind ( TcKind, kindToTcKind ) import RnMonad ( RnNameSupply(..) ) import Bag ( isEmptyBag ) import ErrUtils ( WarnMsg, ErrMsg, - pprBagOfErrors, dumpIfSet, ghcExit + pprBagOfErrors, dumpIfSet ) -import Id ( idType, GenId, IdEnv, nullIdEnv ) -import Maybes ( catMaybes, MaybeErr(..) ) +import Id ( idType, GenId ) import Name ( Name, isLocallyDefined, pprModule, NamedThing(..) ) -import TyCon ( TyCon, isSynTyCon, tyConKind ) +import TyCon ( TyCon, tyConKind ) import Class ( Class, classSelIds, classTyCon ) -import Type ( mkTyConApp, mkSynTy, Type ) +import Type ( mkTyConApp, Type ) import TyVar ( emptyTyVarEnv ) import TysWiredIn ( unitTy ) -import PrelMods ( pREL_MAIN, mAIN ) +import PrelMods ( mAIN ) import PrelInfo ( main_NAME, ioTyCon_NAME ) import Unify ( unifyTauTy ) -import UniqFM ( lookupUFM_Directly, lookupWithDefaultUFM_Directly, - filterUFM, eltsUFM ) import Unique ( Unique ) import UniqSupply ( UniqSupply ) import Util import Bag ( Bag, isEmptyBag ) -import FiniteMap ( emptyFM, FiniteMap ) +import FiniteMap ( FiniteMap ) import Outputable \end{code} @@ -127,7 +120,8 @@ tcModule rn_name_supply -- which is done lazily [ie failure just drops the pragma -- without having any global-failure effect]. -- - -- unf_env is also used to get the pragam info for dfuns. + -- unf_env is also used to get the pragam info + -- for imported dfuns and default methods -- The knot for instance information. This isn't used at all -- till we type-check value declarations