stranal/sigs/UnsatFun

Ben Gamari ben at smart-cactus.org
Sun Nov 29 19:49:06 UTC 2015


Richard Eisenberg <eir at cis.upenn.edu> writes:

> Hi devs,
>
> On my kind=type branch (D808), I have this test failure for stranal/sigs/UnsatFun:
>
Hmmm. I was curious and so took the opportunity to do a bit of digging.
This likely isn't helpful but you never know...

> -UnsatFun.g: <B,1*U(U)>b
> +UnsatFun.g: <L,U(U)>

It looks like the strictness analyzer can no longer see that `g` is
bottoming (hence the missing `b`), which unfortunately seems to be
exactly what this test is testing for. :(

Moreover, the `B` changing to an `L` means that the demand analysis
can't see that any demand is made of the first argument.

> -UnsatFun.h: <C(S),1*C1(U(U))>
> +UnsatFun.h: <S,1*U>

This is the helper used by `g`. Again, it looks like something is going
awry here with strictness analysis as the argument which was previously
deemed "call-demand" is now just "strict".

> -UnsatFun.g': <L,1*U(U)>
> +UnsatFun.g': <L,U(U)>
> 
> -UnsatFun.h2: <S,1*U><L,1*C1(U(U))>
> +UnsatFun.h2: <S,1*U><L,1*U>

This appears to be a very similar test which is likely failing for a
similar reason.

Could you perhaps collect the Core for this test before and after your
patch?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20151129/50525a0b/attachment.sig>


More information about the ghc-devs mailing list