[GHC] #10918: Float once-used let binding into a recursive function
GHC
ghc-devs at haskell.org
Tue Sep 29 15:37:28 UTC 2015
#10918: Float once-used let binding into a recursive function
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
-------------------------------------+-------------------------------------
Comment (by simonpj):
I think float-in is the right place. The simplifier does only strictly-
local floating; and only float out. Really the only floating
transformation the simplifier does is
{{{
let
x = let y = e in (e1:e2)
in ...
===>
let y = e in
let x = e1:e2 in ...
}}}
So yes: float-in!
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10918#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list