a reliable way of dropping levity args?
Ömer Sinan Ağacan
omeragacan at gmail.com
Fri Jan 29 01:30:27 UTC 2016
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 <eir at cis.upenn.edu>:
>
> On Jan 28, 2016, at 5:48 PM, Ömer Sinan Ağacan <omeragacan at 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
More information about the ghc-devs
mailing list