Two signficant changes to the simplifier
authorsimonpj@microsoft.com <unknown>
Wed, 27 Oct 2010 19:37:29 +0000 (19:37 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 27 Oct 2010 19:37:29 +0000 (19:37 +0000)
commitf95a95425727fd0086df26f7d47f79c911e04b34
treea13abc0f828b0a1de374097bd81f38b9fb3d573e
parent32bb9e8779002fdf44b1646c1d3ded7310041734
Two signficant changes to the simplifier

1. Do eta-expansion at let-bindings, not lambdas.
   I have wanted to do this for a long time.
   See Note [Eta-expanding at let bindings] in SimplUtils

2. Simplify the rather subtle way in which InlineRules (the
   template captured by an INLINE pragma) was simplified.
   Now, these templates are always simplified in "gentle"
   mode only, and only INLINE things inline inside them.

   See Note Note [Gentle mode], Note [Inlining in gentle mode]
   and Note [RULEs enabled in SimplGently] in SimplUtils
compiler/basicTypes/BasicTypes.lhs
compiler/simplCore/SimplEnv.lhs
compiler/simplCore/SimplUtils.lhs
compiler/simplCore/Simplify.lhs