Remove leftover NoteTy/FTVNote bits
[ghc-hetmet.git] / compiler / types / Coercion.lhs
index b74a8af..9ebd00e 100644 (file)
@@ -42,12 +42,15 @@ module Coercion (
         transCoercionTyCon, leftCoercionTyCon, 
         rightCoercionTyCon, instCoercionTyCon, -- needed by TysWiredIn
 
+        -- Comparison
+        coreEqCoercion,
+
        -- CoercionI
        CoercionI(..),
        isIdentityCoercion,
        mkSymCoI, mkTransCoI, 
        mkTyConAppCoI, mkAppTyCoI, mkFunTyCoI,
-       mkNoteTyCoI, mkForAllTyCoI,
+       mkForAllTyCoI,
        fromCoI, fromACo,
        mkClassPPredCoI, mkIParamPredCoI, mkEqPredCoI
 
@@ -142,7 +145,6 @@ coercionKind (FunTy ty1 ty2)
 coercionKind (ForAllTy tv ty) 
   = let (ty1, ty2) = coercionKind ty in
     (ForAllTy tv ty1, ForAllTy tv ty2)
-coercionKind (NoteTy _ ty) = coercionKind ty
 coercionKind (PredTy (EqPred c1 c2)) 
   = let k1 = coercionKindPredTy c1
         k2 = coercionKindPredTy c2 in
@@ -482,6 +484,12 @@ splitNewTypeRepCo_maybe (TyConApp tc tys)
                        -- This case handled by coreView
 splitNewTypeRepCo_maybe _
   = Nothing
+
+-------------------------------------
+-- Syntactic equality of coercions
+
+coreEqCoercion :: Coercion -> Coercion -> Bool
+coreEqCoercion = coreEqType
 \end{code}
 
 
@@ -535,10 +543,6 @@ mkFunTyCoI _   IdCo _   IdCo = IdCo
 mkFunTyCoI ty1 coi1 ty2 coi2 =
        ACo $ FunTy (fromCoI coi1 ty1) (fromCoI coi2 ty2)
 
-mkNoteTyCoI :: TyNote -> CoercionI -> CoercionI
-mkNoteTyCoI _ IdCo = IdCo
-mkNoteTyCoI note (ACo co) = ACo $ NoteTy note co
-
 mkForAllTyCoI :: TyVar -> CoercionI -> CoercionI
 mkForAllTyCoI _ IdCo = IdCo
 mkForAllTyCoI tv (ACo co) = ACo $ ForAllTy tv co