Re: Avoiding construction of dead dictionaries

2021-08-06 Thread Tom Smeding
Would it not be unsound for ghc to elide dictionary construction here? After all, the right-hand side might actually be a bottom (e.g. undefined) at run-time, in which case the pattern match cannot succeed according to the semantics of Haskell. I suspect that if you make the pattern match lazy (

Avoiding construction of dead dictionaries

2021-08-06 Thread Michael Sperber
I have another optimization problem. ConCat includes this definition: (<+) :: Con a => (Con b => r) -> (a |- b) -> r r <+ Entail (Sub Dict) = r The right-hand argument of <+ leads to a dictionary construction that is a proof of a certain property, but the dictionary itself ends up being dead, l

Re: -dinline-check for symbolic names?

2021-08-06 Thread Michael Sperber
On Fri, Aug 06 2021, Michael Sperber wrote: > On Wed, Aug 04 2021, Carter Schonwald wrote: > >> I’m not sure about the pragma debugging, but are you using it in point free >> style? Cause I’m that case it may not be inclined because it’s not being >> fully applied on the left hand side? > > Goo

Re: -dinline-check for symbolic names?

2021-08-06 Thread Michael Sperber
On Wed, Aug 04 2021, Carter Schonwald wrote: > I’m not sure about the pragma debugging, but are you using it in point free > style? Cause I’m that case it may not be inclined because it’s not being > fully applied on the left hand side? Good point, but I checked, and it's fully applied. :-( I

Re: [ANN] Cabal-3.6.0.0

2021-08-06 Thread Mikolaj Konarski
Hi Thomas, > The changelog (and the 3.6 branch) does not include > https://github.com/haskell/cabal/pull/7493. This is just as well since HEAD > (with this merge) doesn't fix the related issue in my testing, but I'm > curious if such a fix can be part of a point release or if it must be 3.8?