
#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