I've investigated a bit more. You are right `typeHasFixedRuntimeRep` works fine, the panic was caused by querying the representation type of `LitRubbish` type argument. In some cases `getRuntimeRep` causes GHC panic for `LitRubbish` type arguments. I did solve the issue with special casing the LitRubbish type argument handling by using only the `runtimeRepPrimRep` function. In the general case I tested the type with `isUnboxedTupleType` and `isUnboxedSumType` which rely on `getRuntimeRep`. Thanks for the tips and feedback. Regards, Csaba
On Wed, Sep 14, 2022 at 6:44 PM Sam Derbyshire <sam.derbysh...@gmail.com> wrote: > Hmm, that's strange, both isTypeLevPoly and typeHasFixedRuntimeRep have > the same precondition: the kind of the type is of the form TYPE rep. So > they should panic in the same circumstances. Can you give a bit more > information? What panics are you running into? > > On Wed, 14 Sept 2022 at 18:40, Csaba Hruska <csaba.hru...@gmail.com> > wrote: > >> Hi, >> Thanks for the tip, I've tried it and it behaves differently than >> isTypeLevPoly. I can get panic when querying the reptype for fixed >> reptypes. That means isTypeLevPoly semantically is not the same as the >> negated result of typeHasFixedRuntimeRep. >> >> On Wed, 14 Sep 2022, 18:19 Sam Derbyshire, <sam.derbysh...@gmail.com> >> wrote: >> >>> Hi Csaba, >>> >>> I think you want the function typeHasFixedRuntimeRep from GHC.Core.Type. >>> >>> Best, >>> >>> Sam >>> >>> On Wed, 14 Sept 2022 at 18:12, Csaba Hruska <csaba.hru...@gmail.com> >>> wrote: >>> >>>> Hello GHC Devs, >>>> >>>> I've noticed that the `isTypeLevPoly` function has been removed from >>>> GHC since 9.4. >>>> I used it to decide the validity of querying the representation type of >>>> every value in the STG IR. >>>> It was mandatory to prevent GHC panics, because there are a lot of >>>> partial functions in GHC. >>>> Is there an alternative to `isTypeLevPoly` in GHC 9.4? >>>> >>>> Best regards, >>>> Csaba Hruska >>>> _______________________________________________ >>>> ghc-devs mailing list >>>> ghc-devs@haskell.org >>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>>> >>>
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs