X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FExternalCore.lhs;h=d3b6e3ace509101a9dd10f57a49674dd6a527bdc;hp=86a0d03816861c8120bc2d0f1860d0d6cc86c6c6;hb=4c6a3f787abcaed009a574196d82237d9ae64fc8;hpb=6c3eae5d5e88117cf80b4b35c9bae4ba3ebbe94c diff --git a/compiler/coreSyn/ExternalCore.lhs b/compiler/coreSyn/ExternalCore.lhs index 86a0d03..d3b6e3a 100644 --- a/compiler/coreSyn/ExternalCore.lhs +++ b/compiler/coreSyn/ExternalCore.lhs @@ -10,17 +10,22 @@ 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 + = Constr (Qual Dcon) [Tbind] [Ty] + | GadtConstr (Qual Dcon) Ty + +-- Newtype coercion +type Axiom = (Qual Tcon, [Tbind], Kind) data Vdefg = Rec [Vdef] | Nonrec Vdef -type Vdef = (Bool,Var,Ty,Exp) -- Top level bindings are unqualified now +-- Top-level bindings are qualified, so that the printer doesn't have to pass +-- around the module name. +type Vdef = (Bool,Qual Var,Ty,Exp) data Exp = Var (Qual Var) @@ -83,7 +88,7 @@ type Id = String primMname :: Mname -- For truly horrible reasons, this must be z-encoded. -- With any hope, the z-encoding will die soon. -primMname = "ghc-prim:GHCziPrim" +primMname = "ghczmprim:GHCziPrim" tcArrow :: Qual Tcon tcArrow = (primMname, "(->)")