diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2015-07-08 17:39:21 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2015-07-08 17:39:21 +0100 |
commit | 9e4908b64648416b9ffb95eca88db7c2a596fe46 (patch) | |
tree | 8377292b992c58f1b98e0da21c741da8997964ed /compiler/simplCore/Simplify.hs | |
parent | dde2095916c670f318ee8328cfe2f20adff8f4e6 (diff) | |
download | haskell-wip/T10527-2.tar.gz |
Add an ambient Id substitution to Substwip/T10527-2
After a struggle, I fixed Trac #5113 (again) on the 7.10 branch,
by adding an ambient substitution to Subst; see CoreSubst,
esp Note [IdSubstEnv].
This allowed me to do the impedence-matching in SimplEnv.substExpr
efficiently (fixing #10370) as well correctly (fixing the latest
problem with #5113).
This cost me more time than I like to say. Sigh.
Diffstat (limited to 'compiler/simplCore/Simplify.hs')
-rw-r--r-- | compiler/simplCore/Simplify.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/simplCore/Simplify.hs b/compiler/simplCore/Simplify.hs index 2e1dcefbdb..40a68d4e6c 100644 --- a/compiler/simplCore/Simplify.hs +++ b/compiler/simplCore/Simplify.hs @@ -1179,7 +1179,7 @@ simplCast env body co0 cont0 -- But it isn't a common case. -- -- Example of use: Trac #995 - = do { let arg' = substExprS arg_se arg + = do { let arg' = substExpr arg_se arg -- It's important that this is lazy, because this argument -- may be disarded if turns out to be the argument of -- (\_ -> e) This can make a huge difference; |