Extended TyCon and friends to represent family declarations
[ghc-hetmet.git] / compiler / types / Type.lhs
index 5799147..a7aeeec 100644 (file)
@@ -12,7 +12,7 @@ module Type (
 
        -- Kinds
         Kind, SimpleKind, KindVar,
-        kindFunResult, splitKindFunTys, 
+        kindFunResult, splitKindFunTys, splitKindFunTysN,
 
         liftedTypeKindTyCon, openTypeKindTyCon, unliftedTypeKindTyCon,
         argTypeKindTyCon, ubxTupleKindTyCon,
@@ -1029,6 +1029,7 @@ cmpPredX env (IParam n1 ty1) (IParam n2 ty2) = (n1 `compare` n2) `thenCmp` cmpTy
 cmpPredX env (ClassP c1 tys1) (ClassP c2 tys2) = (c1 `compare` c2) `thenCmp` cmpTypesX env tys1 tys2
 cmpPredX env (IParam _ _)     (ClassP _ _)     = LT
 cmpPredX env (ClassP _ _)     (IParam _ _)     = GT
+cmpPredX env (EqPred ty1 ty2) (EqPred ty1' ty2') = (cmpTypeX env ty1 ty1') `thenCmp` (cmpTypeX env ty2 ty2')
 \end{code}
 
 PredTypes are used as a FM key in TcSimplify, 
@@ -1370,6 +1371,9 @@ kindFunResult k = funResultTy k
 splitKindFunTys :: Kind -> ([Kind],Kind)
 splitKindFunTys k = splitFunTys k
 
+splitKindFunTysN :: Int -> Kind -> ([Kind],Kind)
+splitKindFunTysN k = splitFunTysN k
+
 isUbxTupleKind, isOpenTypeKind, isArgTypeKind, isUnliftedTypeKind :: Kind -> Bool
 
 isOpenTypeKindCon tc    = tyConUnique tc == openTypeKindTyConKey