From: Manuel M T Chakravarty Date: Fri, 4 Aug 2006 21:21:40 +0000 (+0000) Subject: Massive patch for the first months work adding System FC to GHC #17 X-Git-Tag: After_FC_branch_merge~164 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=334ce30ed6285b6fd57a35f130cb932f651f2eaf;ds=sidebyside Massive patch for the first months work adding System FC to GHC #17 Broken up massive patch -=chak Original log message: This is (sadly) all done in one patch to avoid Darcs bugs. It's not complete work... more FC stuff to come. A compiler using just this patch will fail dismally. --- diff --git a/compiler/iface/IfaceEnv.lhs b/compiler/iface/IfaceEnv.lhs index 6699a75..cea9508 100644 --- a/compiler/iface/IfaceEnv.lhs +++ b/compiler/iface/IfaceEnv.lhs @@ -6,7 +6,7 @@ module IfaceEnv ( lookupIfaceTop, lookupIfaceExt, lookupOrig, lookupIfaceTc, newIfaceName, newIfaceNames, - extendIfaceIdEnv, extendIfaceTyVarEnv, refineIfaceIdEnv, + extendIfaceIdEnv, extendIfaceTyVarEnv, tcIfaceLclId, tcIfaceTyVar, lookupAvail, ifaceExportNames, @@ -24,7 +24,6 @@ import HscTypes ( NameCache(..), HscEnv(..), GenAvailInfo(..), IfaceExport, OrigNameCache ) import Type ( mkOpenTvSubst, substTy ) import TyCon ( TyCon, tyConName ) -import Unify ( TypeRefinement ) import DataCon ( dataConWorkId, dataConName ) import Var ( TyVar, Id, varName, setIdType, idType ) import Name ( Name, nameUnique, nameModule, @@ -294,14 +293,6 @@ tcIfaceLclId occ Nothing -> failIfM (text "Iface id out of scope: " <+> ppr occ) } -refineIfaceIdEnv :: TypeRefinement -> IfL a -> IfL a -refineIfaceIdEnv (tv_subst, _) thing_inside - = do { env <- getLclEnv - ; let { id_env' = mapOccEnv refine_id (if_id_env env) - ; refine_id id = setIdType id (substTy subst (idType id)) - ; subst = mkOpenTvSubst tv_subst } - ; setLclEnv (env { if_id_env = id_env' }) thing_inside } - extendIfaceIdEnv :: [Id] -> IfL a -> IfL a extendIfaceIdEnv ids thing_inside = do { env <- getLclEnv