Change syntax for newtypes in External Core
[ghc-hetmet.git] / compiler / coreSyn / ExternalCore.lhs
index 44f4e8c..5754f84 100644 (file)
@@ -2,13 +2,6 @@
 % (c) The University of Glasgow 2001-2006
 %
 \begin{code}
-{-# OPTIONS -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
---     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
--- for details
-
 module ExternalCore where
 
 
@@ -17,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
@@ -87,7 +83,10 @@ type Qual t = (Mname,t)
 
 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 = "ghc-prim:GHCziPrim"
 
 tcArrow :: Qual Tcon
 tcArrow = (primMname, "(->)")