Thanks. I checked both papers, they mention that not all reboxing is
eliminated, but as far as I can see they don't give an example reboxing that's
not eliminated. It's not hard to come up with an example though. In this
function
fac :: Int -> Int
fac 0 = 1
fac n = n * fac (n - 1)
It's called "reboxing" and is referred to in all the strictness analysis papers
about GHC. I don't know a reliable way to get rid of it; but I have it paged
out at the moment.
Eg
https://www.microsoft.com/en-us/research/publication/theory-practice-demand-analysis-haskell/
Hi,
I was recently looking at #6087. One of the cases that increased
allocations (see comment:27) is when we do worker/wrapper to pass an
`Int#` instead of `Int` when we need the boxed form in the function
body. This causes redundant allocations because we already have the
boxed version of the
On 20/02/2018 03:25, Ben Gamari wrote:
Sylvain Henry writes:
Hi,
@Bodigrim is working on a patch (https://phabricator.haskell.org/D4212)
to fix #14170.
The build fails because of interface file errors: "bad interface file"
for GHC.Natural and "failed to load interface"