% (c) The University of Glasgow 2001-2006
%
\begin{code}
-
module ExternalCore where
data Tdef
= Data (Qual Tcon) [Tbind] [Cdef]
- | Newtype (Qual Tcon) [Tbind] (Maybe Ty)
+ | Newtype (Qual Tcon) (Qual Tcon) [Tbind] (Maybe Ty)
data Cdef
- = Constr Dcon [Tbind] [Ty]
- | GadtConstr Dcon Ty
+ = Constr (Qual Dcon) [Tbind] [Ty]
+ | GadtConstr (Qual Dcon) Ty
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)
type Id = String
-primMname = "base:GHC.Prim"
+primMname :: Mname
+-- 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, "(->)")