
7 Apr
2019
7 Apr
'19
12:41 p.m.
Hi devs, Is it possible to programmatically recover the role of a type variable? Or, possibly, a list of the roles of the type variables from left to right? For example, if i have: data Foo a = Foo (1) newtype Bar a b = Bar (a -> b) (1) Getting the role list of (1) would give me [Phantom], and (2) would give me [Representational, Representational]. I know in compiler/types/TyCon.hs that TyCon has a list of Roles in it, but there doesn't seem to be any machinery available to do this in source haskell. Thanks