Extend TyCons and DataCons to represent data instance decls
[ghc-hetmet.git] / compiler / typecheck / TcHsType.lhs
index 8411631..30a47f7 100644 (file)
@@ -45,7 +45,7 @@ import TcType         ( Type, PredType(..), ThetaType, BoxySigmaType,
                          substTyWith, mkTyVarTys, tcEqType,
                          tcIsTyVarTy, mkFunTy, mkSigmaTy, mkPredTy, 
                          mkTyConApp, mkAppTys, typeKind )
-import Kind            ( Kind, isLiftedTypeKind, liftedTypeKind, ubxTupleKind, 
+import {- Kind parts of -} Type                ( Kind, isLiftedTypeKind, liftedTypeKind, ubxTupleKind, 
                          openTypeKind, argTypeKind, splitKindFunTys )
 import Var             ( TyVar, mkTyVar, tyVarName )
 import TyCon           ( TyCon, tyConKind )
@@ -630,7 +630,8 @@ tcDataKindSig :: Maybe Kind -> TcM [TyVar]
 -- GADT decls can have a (perhaps partial) kind signature
 --     e.g.  data T :: * -> * -> * where ...
 -- This function makes up suitable (kinded) type variables for 
--- the argument kinds, and checks that the result kind is indeed *
+-- the argument kinds, and checks that the result kind is indeed *.
+-- We use it also to make up argument type variables for for data instances.
 tcDataKindSig Nothing = return []
 tcDataKindSig (Just kind)
   = do { checkTc (isLiftedTypeKind res_kind) (badKindSig kind)