X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FExternalCore.lhs;h=07a1dfbd8ee1b8bcc7f48a41d2be7ba071425d1d;hb=4922b3bf7e17c55b63f717fea2d9b9998bc071c6;hp=a326a54a6cdba213f42ddfeb5084e19b64a71666;hpb=e4417dcd4679da9c6b18c02ff667199c572bed89;p=ghc-hetmet.git diff --git a/compiler/coreSyn/ExternalCore.lhs b/compiler/coreSyn/ExternalCore.lhs index a326a54..07a1dfb 100644 --- a/compiler/coreSyn/ExternalCore.lhs +++ b/compiler/coreSyn/ExternalCore.lhs @@ -10,7 +10,7 @@ data Module data Tdef = Data (Qual Tcon) [Tbind] [Cdef] - | Newtype (Qual Tcon) (Qual Tcon) [Tbind] (Maybe Ty) + | Newtype (Qual Tcon) (Qual Tcon) [Tbind] Ty data Cdef = Constr (Qual Dcon) [Tbind] [Ty] @@ -56,6 +56,16 @@ data Ty | Tcon (Qual Tcon) | Tapp Ty Ty | Tforall Tbind Ty +-- We distinguish primitive coercions +-- (represented in GHC by wired-in names), because +-- External Core treats them specially, so we have +-- to print them out with special syntax. + | TransCoercion Ty Ty + | SymCoercion Ty + | UnsafeCoercion Ty Ty + | InstCoercion Ty Ty + | LeftCoercion Ty + | RightCoercion Ty data Kind = Klifted