A question about roles.

Alexander Eyers-Taylor aeyerstaylor11 at gmail.com
Sun Aug 16 14:19:34 UTC 2015


I have reread the comment about TyConAppCo and I now understand how it 
works and this is all how it should work. I was just slightly confused 
to start with. The coercion was representational but the arguments were 



On 16/08/15 13:34, Richard Eisenberg wrote:
> Hi Alex,
> Do you have a concrete example? With the -dcore-lint flag, the Core is checked, including all the roles.
> Thanks,
> Richard
> On Aug 16, 2015, at 7:47 AM, Alexander Eyers-Taylor <aeyerstaylor11 at gmail.com> wrote:
>> Hello
>> I have noticed in looking at some core that GADT type constructors are often applied with a representational role. These constructors are explicitly marked as nominal.
>> Is this information just ignored at a Core level or is this invalid core?
>> Looking at the code a see that we if we downgrade a TyConAppCo we unconditionally change it to a representational role after changing its children. I think this is where it is introduced.
>> Alex ET
>> _______________________________________________
>> 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