8 May
2017
8 May
'17
10:17 p.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 <ben@smart-cactus.org> wrote:
Christiaan Baaij <christiaan.baaij@gmail.com> 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