Ahh, levity is type of kinds, right? For some reason I thought kinds are now
levities (or whatever it's called). This makes sense. I just tried and I think
it works, thanks.

2016-01-28 19:39 GMT-05:00 Richard Eisenberg <e...@cis.upenn.edu>:
>
> On Jan 28, 2016, at 5:48 PM, Ömer Sinan Ağacan <omeraga...@gmail.com> wrote:
>>
>>    | Just (tc, args) <- splitTyConApp_maybe ty
>>    , isUnboxedTupleTyCon tc
>>    = pprTrace "elimUbxSumRepTypes"
>>        (text "orig args:" <+> ppr args $$
>>         text "dropWhile isLevityTy args = " <+> ppr (dropWhile
>> isLevityTy args)) $
>>      concatMap go (drop (length args `div` 2) args)
>
> You want (dropWhile (isLevityTy . typeKind) args). isLevityTy simply checks 
> if its argument is exactly `Levity`.
>
> Does that work?
>
> Richard
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to