Re: A (late-)demand analysis and w/w question

2018-02-20 Thread Ömer Sinan Ağacan
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)

RE: A (late-)demand analysis and w/w question

2018-02-20 Thread Simon Peyton Jones via ghc-devs
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/

A (late-)demand analysis and w/w question

2018-02-20 Thread Ömer Sinan Ağacan
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

Re: Help with build ordering issue

2018-02-20 Thread Sylvain Henry
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"