X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FType.lhs;h=eeacb1a575db604a5150cd009038eeb8cadb89ee;hb=c128930dc98c73e2459a4610539fee73ca941247;hp=f8164934761f700ab7feae032f34fda6c77bf6f5;hpb=db375d630cb6e3377e48daaa0388ba5a4f798f7b;p=ghc-hetmet.git diff --git a/compiler/types/Type.lhs b/compiler/types/Type.lhs index f816493..eeacb1a 100644 --- a/compiler/types/Type.lhs +++ b/compiler/types/Type.lhs @@ -1,8 +1,9 @@ % +% (c) The University of Glasgow 2006 % (c) The GRASP/AQUA Project, Glasgow University, 1998 % -\section[Type]{Type - public interface} +Type - public interface \begin{code} module Type ( @@ -105,36 +106,23 @@ module Type ( import TypeRep -- friends: -import Var ( Var, TyVar, tyVarKind, tyVarName, - setTyVarName, setTyVarKind, mkWildCoVar ) +import Var import VarEnv import VarSet -import OccName ( tidyOccName ) -import Name ( NamedThing(..), tidyNameOcc ) -import Class ( Class, classTyCon ) -import PrelNames( openTypeKindTyConKey, unliftedTypeKindTyConKey, - ubxTupleKindTyConKey, argTypeKindTyConKey ) -import TyCon ( TyCon, isPrimTyCon, - isUnboxedTupleTyCon, isUnLiftedTyCon, - isFunTyCon, isNewTyCon, isClosedNewTyCon, - newTyConRep, newTyConRhs, - isAlgTyCon, isSuperKindTyCon, - tcExpandTyCon_maybe, coreExpandTyCon_maybe, - tyConKind, PrimRep(..), tyConPrimRep, tyConUnique - ) +import OccName +import Name +import Class +import PrelNames +import TyCon -- others -import StaticFlags ( opt_DictsStrict ) -import Util ( mapAccumL, seqList, snocView, thenCmp, isEqual, all2 ) +import StaticFlags +import Util import Outputable -import UniqSet ( sizeUniqSet ) -- Should come via VarSet -import Maybe ( isJust ) +import UniqSet -#ifdef DEBUG -import TyCon ( isRecursiveTyCon, tyConArity, isCoercionTyCon ) -import Util ( lengthIs ) -#endif +import Data.Maybe ( isJust ) \end{code} @@ -1301,7 +1289,7 @@ substTyVarBndr subst@(TvSubst in_scope env) old_var | is_co_var = setTyVarKind old_var (substTy subst kind) | otherwise = old_var kind = tyVarKind old_var - is_co_var = isCoercionKind kind + is_co_var = isCoVar old_var \end{code} ---------------------------------------------------- @@ -1477,14 +1465,6 @@ defaultKind k | isSubArgTypeKind k = liftedTypeKind | otherwise = k -isCoercionKind :: Kind -> Bool --- All coercions are of form (ty1 :=: ty2) --- This function is here rather than in Coercion, --- because it's used by substTy -isCoercionKind k | Just k' <- kindView k = isCoercionKind k' -isCoercionKind (PredTy (EqPred {})) = True -isCoercionKind other = False - isEqPred :: PredType -> Bool isEqPred (EqPred _ _) = True isEqPred other = False