X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FExternalCore.lhs;h=2a8d152fe6a34d6e77e3b4d66a5e50f041de33a2;hb=da6ece6b866451c684dd96867e32c3fcba53c248;hp=576e03ebbb98c5f69d46affca98741127552d51a;hpb=fcf6b22d0478be20e27c2245f3e34dd272e12522;p=ghc-hetmet.git diff --git a/compiler/coreSyn/ExternalCore.lhs b/compiler/coreSyn/ExternalCore.lhs index 576e03e..2a8d152 100644 --- a/compiler/coreSyn/ExternalCore.lhs +++ b/compiler/coreSyn/ExternalCore.lhs @@ -10,12 +10,15 @@ data Module data Tdef = Data (Qual Tcon) [Tbind] [Cdef] - | Newtype (Qual Tcon) [Tbind] (Maybe Ty) + | Newtype (Qual Tcon) [Tbind] Axiom (Maybe Ty) data Cdef = Constr Dcon [Tbind] [Ty] | GadtConstr Dcon Ty +-- Newtype coercion +type Axiom = (Qual Tcon, Kind) + data Vdefg = Rec [Vdef] | Nonrec Vdef @@ -81,7 +84,9 @@ type Qual t = (Mname,t) type Id = String primMname :: Mname -primMname = "ghc-prim:GHC.Prim" +-- For truly horrible reasons, this must be z-encoded. +-- With any hope, the z-encoding will die soon. +primMname = "ghczmprim:GHCziPrim" tcArrow :: Qual Tcon tcArrow = (primMname, "(->)")