X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FSimplEnv.lhs;h=d9eea39ed69e7bb1d76820ee0af5e4e532dc9086;hb=46ff3d8caded776ab471d3682258147e42be8f14;hp=896fe976268f7e5133a7fc20e9887632bf0fbba9;hpb=491b818a4a9bd2160107178499e160d62933f58c;p=ghc-hetmet.git diff --git a/compiler/simplCore/SimplEnv.lhs b/compiler/simplCore/SimplEnv.lhs index 896fe97..d9eea39 100644 --- a/compiler/simplCore/SimplEnv.lhs +++ b/compiler/simplCore/SimplEnv.lhs @@ -240,11 +240,18 @@ Note [WildCard binders] The program to be simplified may have wild binders case e of wild { p -> ... } We want to *rename* them away, so that there are no -occurrences of 'wild' (with wildCardKey). The easy +occurrences of 'wild-id' (with wildCardKey). The easy way to do that is to start of with a representative Id in the in-scope set -There should be no *occurrences* of wild. +There can be be *occurrences* of wild-id. For example, +MkCore.mkCoreApp transforms + e (a /# b) --> case (a /# b) of wild { DEFAULT -> e wild } +This is ok provided 'wild' isn't free in 'e', and that's the delicate +thing. Generally, you want to run the simplifier to get rid of the +wild-ids before doing much else. + +It's a very dark corner of GHC. Maybe it should be cleaned up. \begin{code} getMode :: SimplEnv -> SimplifierMode