Hello

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 nominal.

Thanks

Alex

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 <[email protected]> 
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
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to