make dataConInstPat take a list of FastStrings rather than OccNames, remove out-of...
[ghc-hetmet.git] / compiler / basicTypes / DataCon.lhs
index 2fc8024..af75ec9 100644 (file)
@@ -11,7 +11,7 @@ module DataCon (
        dataConRepType, dataConSig, dataConFullSig,
        dataConName, dataConTag, dataConTyCon, dataConUserType,
        dataConUnivTyVars, dataConExTyVars, dataConAllTyVars, dataConResTys,
-       dataConEqSpec, dataConTheta, dataConStupidTheta, 
+       dataConEqSpec, eqSpecPreds, dataConTheta, dataConStupidTheta, 
        dataConInstArgTys, dataConOrigArgTys, 
        dataConInstOrigArgTys, dataConRepArgTys, 
        dataConFieldLabels, dataConFieldType,
@@ -32,16 +32,17 @@ module DataCon (
 import Type            ( Type, ThetaType, 
                          substTyWith, substTyVar, mkTopTvSubst, 
                          mkForAllTys, mkFunTys, mkTyConApp, mkTyVarTy, mkTyVarTys, 
-                         splitTyConApp_maybe, newTyConInstRhs,
-                         mkPredTys, isStrictPred, pprType
+                         splitTyConApp_maybe, newTyConInstRhs, 
+                         mkPredTys, isStrictPred, pprType, mkPredTy
                        )
 import Coercion                ( isEqPred, mkEqPred )
 import TyCon           ( TyCon, FieldLabel, tyConDataCons, 
                          isProductTyCon, isTupleTyCon, isUnboxedTupleTyCon,
                           isNewTyCon, isRecursiveTyCon )
 import Class           ( Class, classTyCon )
-import Name            ( Name, NamedThing(..), nameUnique )
-import Var             ( TyVar, Id )
+import Name            ( Name, NamedThing(..), nameUnique, mkSysTvName, mkSystemName )
++ import Var           ( TyVar, CoVar, Id, mkTyVar, tyVarKind, setVarUnique,
++                           mkCoVar )
 import BasicTypes      ( Arity, StrictnessMark(..) )
 import Outputable
 import Unique          ( Unique, Uniquable(..) )
@@ -49,6 +50,7 @@ import ListSetOps     ( assoc, minusList )
 import Util            ( zipEqual, zipWithEqual )
 import List            ( partition )
 import Maybes           ( expectJust )
+import FastString
 \end{code}
 
 
@@ -602,6 +604,7 @@ dataConInstArgTys (MkData {dcRepArgTys = arg_tys,
  where
    tyvars = univ_tvs ++ ex_tvs
 
+
 -- And the same deal for the original arg tys
 dataConInstOrigArgTys :: DataCon -> [Type] -> [Type]
 dataConInstOrigArgTys dc@(MkData {dcOrigArgTys = arg_tys,