Re: Change in demand analysis results between 7.10.2 and RC1 (not fixed in RC2 and HEAD)

2016-02-29 Thread Ömer Sinan Ağacan
> Why do you say > > | In our case, we prefer the result in 7.10.2 of course, because that's a > | more precise demand and it gives us more opportunities for > | optimizations. But I guess this could potentially reveal itself in some > > What optimisations do you have in mind? I just had

RE: Change in demand analysis results between 7.10.2 and RC1 (not fixed in RC2 and HEAD)

2016-02-29 Thread Simon Peyton Jones
See Note [Add demands for strict constructors] in DmdAnal, esp the bit that says If the argument is not used at all in the alternative (i.e. it is Absent), then *don't* add a 'seqDmd'. If we do, it makes it look used and hence it'll be passed to the worker when it doesn't

Re: Change in demand analysis results between 7.10.2 and RC1 (not fixed in RC2 and HEAD)

2016-02-28 Thread Ömer Sinan Ağacan
Thanks, but that patch looks like for CPR. In our case demands are changed, so I don't see how that's related. Am I missing anything in that patch? 2016-02-27 3:49 GMT-05:00 Joachim Breitner : > Hi, > Am Freitag, den 26.02.2016, 22:12 -0500 schrieb Ömer Sinan Ağacan: >>

Re: Change in demand analysis results between 7.10.2 and RC1 (not fixed in RC2 and HEAD)

2016-02-27 Thread Joachim Breitner
Hi, Am Freitag, den 26.02.2016, 22:12 -0500 schrieb Ömer Sinan Ağacan: > While working on demand analyzer today we realized that there has > been some changes in demand analysis results between GHC 7.10.2 and > 8.0-rc2.  a quick git log highlights this commit, as it relates to strict data

Change in demand analysis results between 7.10.2 and RC1 (not fixed in RC2 and HEAD)

2016-02-26 Thread Ömer Sinan Ağacan
Hi all, While working on demand analyzer today we realized that there has been some changes in demand analysis results between GHC 7.10.2 and 8.0-rc2. Here's a minimal example: {-# LANGUAGE BangPatterns #-} module Main where data Prod a = Prod !a !a addProd :: Prod Int -> Prod