Rough matches for family instances
[ghc-hetmet.git] / compiler / iface / IfaceType.lhs
index 63e8985..ee37891 100644 (file)
@@ -10,7 +10,7 @@ module IfaceType (
        IfaceContext, IfaceBndr(..), IfaceTvBndr, IfaceIdBndr, IfaceCoercion,
 
        IfaceExtName(..), mkIfaceExtName, isLocalIfaceExtName,
-       ifaceTyConName,
+       ifaceTyConName, ifaceTyConOccName,
 
        -- Conversion from Type -> IfaceType
        toIfaceType, toIfacePred, toIfaceContext, 
@@ -26,12 +26,10 @@ module IfaceType (
 
 #include "HsVersions.h"
 
-import Type            ( Kind )
-import Coercion         ( Coercion )
 import TypeRep         ( TyThing(..), Type(..), PredType(..), ThetaType,
                           unliftedTypeKindTyConName, openTypeKindTyConName,
                           ubxTupleKindTyConName, argTypeKindTyConName,
-                          liftedTypeKindTyConName, isLiftedTypeKind )
+                          liftedTypeKindTyConName )
 import TyCon           ( TyCon, isTupleTyCon, tyConArity, tupleTyConBoxity, tyConName )
 import Var             ( isId, tyVarKind, idType )
 import TysWiredIn      ( listTyConName, parrTyConName, tupleTyCon, intTyConName, charTyConName, boolTyConName )
@@ -147,7 +145,9 @@ ifaceTyConName IfaceUbxTupleKindTc     = ubxTupleKindTyConName
 ifaceTyConName IfaceArgTypeKindTc      = argTypeKindTyConName
 ifaceTyConName (IfaceTc ext)      = pprPanic "ifaceTyConName" (ppr ext)
 
-
+ifaceTyConOccName :: IfaceTyCon -> OccName     -- Works for all!
+ifaceTyConOccName (IfaceTc ext) = ifaceExtOcc ext
+ifaceTyConOccName tycon         = nameOccName . ifaceTyConName $ tycon
 \end{code}