Small improvement to CorePrep
authorsimonpj@microsoft.com <unknown>
Mon, 20 Dec 2010 12:37:15 +0000 (12:37 +0000)
committersimonpj@microsoft.com <unknown>
Mon, 20 Dec 2010 12:37:15 +0000 (12:37 +0000)
commitc391db2339eaddbe21636206d8e9a2000c24b6be
treee6fe9355db851cd84e2f3493ddf77b8dfef4eeaf
parent2a9d13eca98b0cd5bf16bfc8dd16f74b2d2803e4
Small improvement to CorePrep

This change avoids unnecessary bindings. Example

     foo (let fn = \x.blah in
          in fn)

We were generating something stupid like

    let fn = \x.blah in
    let fn' = \eta. fn eta
    in foo fn

Now we don't.  The change is quite small.

Thanks to Ben for showing me an example of this happening.
compiler/coreSyn/CorePrep.lhs