summaryrefslogtreecommitdiff
path: root/hadrian
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2022-02-21 13:32:27 +0100
committerSebastian Graf <sebastian.graf@kit.edu>2022-02-21 18:30:46 +0100
commit03c9d654ceb9fe76630a6b817321041c07f3d135 (patch)
tree66db0af830ce218b913553f5d87d1763fe8d5056 /hadrian
parenta14eac08c7ab490258ff0fd62065bfb8fb8b53df (diff)
downloadhaskell-wip/T21085.tar.gz
Demand: Don't rewrite `CS(S)` to `S` (#21085)wip/T21085
In #21085 we established that we have `CS(S) > S`, otherwise `plusSubDmd` is non-monotone: ``` L + S = S = CS(S) < CS(L) = C(L+S)(LuS) = L + CS(S) ``` That means that `CS(S) /= S` and we may not do the rewrite from `CS(S)` to `S` in `mkCall`. We may still rewrite `S` to `CS(S)` in `viewCall`, which is a monotone transition, in that ``` viewCall S = CS(S) <= CS(S) = viewCall CS(S) ``` We still have `L=CL(L)`, so we are allowed to rewrite it in `mkCall`. Fixes #21085.
Diffstat (limited to 'hadrian')
0 files changed, 0 insertions, 0 deletions