
8 May
2017
8 May
'17
10:17 a.m.
I've created a ticket for this at:
https://ghc.haskell.org/trac/ghc/ticket/13663
On 8 May 2017 at 16:12, Ben Gamari
Christiaan Baaij
writes: Hello GHC Devs,
Hi!
So my question are: - Which part of the simplifier is turning these local recursive let-binders into global recursive functions?
The simplifier does a bit of let floating. See Simplify.simplLazyBind and SimplEnv.doFloatFromRhs. I suspect this is what you are seeing.
- Is there some way to disable this transformation?
You could try adding a flag which is checked by doFloatFromRhs. I'm not sure what, if anything, might break if you do so.
Cheers,
- Ben