X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FSubst.lhs;h=c406f926e01698619a8631b0fbfa4d265bd8b25e;hb=eef96a799e366e63b0fb42c97daf7bcb7f1a8677;hp=02ab9fd95b4eb0d71349a6093994cecc7e2efd39;hpb=b3e58b417b2cb47c35fe3006192a01eecf8d09b5;p=ghc-hetmet.git diff --git a/ghc/compiler/coreSyn/Subst.lhs b/ghc/compiler/coreSyn/Subst.lhs index 02ab9fd..c406f92 100644 --- a/ghc/compiler/coreSyn/Subst.lhs +++ b/ghc/compiler/coreSyn/Subst.lhs @@ -249,6 +249,7 @@ substInScope (Subst in_scope _) = in_scope zapSubstEnv :: Subst -> Subst zapSubstEnv (Subst in_scope env) = Subst in_scope emptySubstEnv +-- ToDo: add an ASSERT that fvs(subst-result) is already in the in-scope set extendSubst :: Subst -> Var -> SubstResult -> Subst extendSubst (Subst in_scope env) v r = Subst in_scope (extendSubstEnv env v r) @@ -390,6 +391,7 @@ zipTyEnv tyvars tys #endif = zip_ty_env tyvars tys emptySubstEnv +-- Later substitutions in the list over-ride earlier ones zip_ty_env [] [] env = env zip_ty_env (tv:tvs) (ty:tys) env = zip_ty_env tvs tys (extendSubstEnv env tv (DoneTy ty)) -- There used to be a special case for when