
5 Apr
2022
5 Apr
'22
9:53 a.m.
Simon Peyton Jones
I don't think any top-level Ids should have OtherCon [] unfoldings? If they do, can you give a repro case? OtherCon [] unfoldings usually mean "I know this variable is evaluated, but I don't know what its value is. E.g data T = MkT !a !a f (MkT x y) = ...
here x and y have OtherCon [] unfoldings. They are definitely not bottom!
Is there a reason why we wouldn't potentially give a static data constructor application an OtherCon [] unfolding? I would guess that usually these are small enough to have a CoreUnfolding, but in cases where the expression is too large to have an unstable unfolding we might rather want to give it an OtherCon []. Cheers, - Ben