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