Recover role of a type variable in source Haskell

Csongor Kiss kiss.csongor.kiss at gmail.com
Sun Apr 7 16:45:07 UTC 2019


Hi chessai,

It is indeed not possible in source Haskell at the moment.

Cheers,
Csongor

> On 7 Apr 2019, at 17:41, chessai . <chessai1996 at gmail.com> wrote:
> 
> 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
> 
> 
> 
> 
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs



More information about the ghc-devs mailing list