Coercible is now exported from GHC.Types (#8894)
authorJoachim Breitner <mail@joachim-breitner.de>
Sun, 16 Mar 2014 17:35:28 +0000 (18:35 +0100)
committerJoachim Breitner <mail@joachim-breitner.de>
Sun, 16 Mar 2014 17:46:16 +0000 (18:46 +0100)
so do not export it in GHC.Prim, and also have the pseudo-code for
GHC.Prim import GHC.Types, so that haddock is happy.

compiler/prelude/PrelInfo.lhs
compiler/prelude/primops.txt.pp
utils/genprimopcode/Main.hs

index ca156ee..014e0e7 100644 (file)
@@ -124,15 +124,13 @@ primOpId op = primOpIds ! primOpTag op
 GHC.Prim "exports" all the primops and primitive types, some
 wired-in Ids.
 
-See Note [Kind-changing of (~) and Coerciblea] for why we export coercibleTyCon here.
-
 \begin{code}
 ghcPrimExports :: [IfaceExport]
 ghcPrimExports
  = map (Avail . idName) ghcPrimIds ++
    map (Avail . idName . primOpId) allThePrimOps ++
    [ AvailTC n [n] 
-   | tc <- funTyCon : coercibleTyCon : primTyCons, let n = tyConName tc  ]
+   | tc <- funTyCon : primTyCons, let n = tyConName tc  ]
 \end{code}
 
 
index 63aef0f..49fef35 100644 (file)
@@ -2380,8 +2380,6 @@ pseudoop   "coerce"
      concrete types.
    }
 
-primclass Coercible a b
-
 ------------------------------------------------------------------------
 section "SIMD Vectors"
        {Operations on SIMD vectors.}
index d60081f..05d42fa 100644 (file)
@@ -252,6 +252,7 @@ gen_hs_source (Info defaults entries) =
     ++ "{-\n"
         ++ unlines (map opt defaults)
     ++ "-}\n"
+    ++ "import GHC.Types (Coercible)\n"
         ++ unlines (concatMap ent entries') ++ "\n\n\n"
      where entries' = concatMap desugarVectorSpec entries