From f0fc29ce3e100c613846b7b2daa1bee4c751138d Mon Sep 17 00:00:00 2001 From: Manuel M T Chakravarty Date: Tue, 19 Sep 2006 18:10:58 +0000 Subject: [PATCH] Adapt Simplify to conditional envs --- compiler/simplCore/Simplify.lhs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs index 36e723d..efc59d1 100644 --- a/compiler/simplCore/Simplify.lhs +++ b/compiler/simplCore/Simplify.lhs @@ -814,9 +814,12 @@ simplCast env body co cont -- t2 :=: s2 with left and right on the curried form: -- (->) t1 t2 :=: (->) s1 s2 [co1, co2] = decomposeCo 2 co - new_arg = mkCoerce (mkSymCoercion co1) (substExpr arg_env arg) - arg_env = setInScope arg_se env - result = ApplyTo dup new_arg (zapSubstEnv env) (addCoerce co2 cont) + new_arg = mkCoerce (mkSymCoercion co1) arg' + arg' = case arg_se of + Nothing -> arg + Just arg_se -> substExpr (setInScope arg_se env) arg + result = ApplyTo dup new_arg (Just $ zapSubstEnv env) + (addCoerce co2 cont) addCoerce co cont = CoerceIt co cont in simplType env co `thenSmpl` \ co' -> @@ -1713,6 +1716,7 @@ knownCon env scrut con args bndr alts cont simplNonRecX env bndr bndr_rhs $ \ env -> simplExprF env rhs cont where + dead_bndr = isDeadBinder bndr n_drop_tys = tyConArity (dataConTyCon dc) -- Ugh! -- 1.7.10.4