X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FTypeRep.lhs;h=aa1c1fad2f9e58455074a5203ca905c2acc1686c;hb=db375d630cb6e3377e48daaa0388ba5a4f798f7b;hp=b89d1705b77edc79b13b2b7b56e9ea5496f24c00;hpb=712a6f8a506402b887efda3a2db70a1e5907ff13;p=ghc-hetmet.git diff --git a/compiler/types/TypeRep.lhs b/compiler/types/TypeRep.lhs index b89d170..aa1c1fa 100644 --- a/compiler/types/TypeRep.lhs +++ b/compiler/types/TypeRep.lhs @@ -37,15 +37,12 @@ module TypeRep ( isTySuperKind, isCoSuperKind, tySuperKindTyCon, coSuperKindTyCon, - isCoercionKindTyCon, - pprKind, pprParendKind ) where #include "HsVersions.h" import {-# SOURCE #-} DataCon( DataCon, dataConName ) -import Monad ( guard ) -- friends: import Var ( Var, Id, TyVar, tyVarKind ) @@ -53,7 +50,9 @@ import VarSet ( TyVarSet ) import Name ( Name, NamedThing(..), BuiltInSyntax(..), mkWiredInName ) import OccName ( mkOccNameFS, tcName, parenSymOcc ) import BasicTypes ( IPName, tupleParens ) -import TyCon ( TyCon, mkFunTyCon, tyConArity, tupleTyConBoxity, isTupleTyCon, isRecursiveTyCon, isNewTyCon, mkVoidPrimTyCon, mkSuperKindTyCon, isSuperKindTyCon, mkCoercionTyCon ) +import TyCon ( TyCon, mkFunTyCon, tyConArity, tupleTyConBoxity, isTupleTyCon, + isRecursiveTyCon, isNewTyCon, mkVoidPrimTyCon, + mkSuperKindTyCon ) import Class ( Class ) -- others @@ -61,7 +60,7 @@ import PrelNames ( gHC_PRIM, funTyConKey, tySuperKindTyConKey, coSuperKindTyConKey, liftedTypeKindTyConKey, openTypeKindTyConKey, unliftedTypeKindTyConKey, ubxTupleKindTyConKey, argTypeKindTyConKey, listTyConKey, - parrTyConKey, hasKey, eqCoercionKindTyConKey ) + parrTyConKey, hasKey ) import Outputable \end{code} @@ -211,10 +210,6 @@ type Kind = Type -- Invariant: a kind is always type SuperKind = Type -- Invariant: a super kind is always -- TyConApp SuperKindTyCon ... -type Coercion = Type - -type CoercionKind = Kind - data TyNote = FTVNote TyVarSet -- The free type variables of the noted expression \end{code} @@ -341,8 +336,6 @@ openTypeKindTyCon = mkKindTyCon openTypeKindTyConName unliftedTypeKindTyCon = mkKindTyCon unliftedTypeKindTyConName ubxTupleKindTyCon = mkKindTyCon ubxTupleKindTyConName argTypeKindTyCon = mkKindTyCon argTypeKindTyConName -eqCoercionKindTyCon = - mkCoercionTyCon eqCoercionKindTyConName 2 (\ _ -> coSuperKind) mkKindTyCon :: Name -> TyCon mkKindTyCon name = mkVoidPrimTyCon name tySuperKind 0 @@ -355,14 +348,10 @@ coSuperKindTyConName = mkPrimTyConName FSLIT("COERCION") coSuperKindTyConKe liftedTypeKindTyConName = mkPrimTyConName FSLIT("*") liftedTypeKindTyConKey liftedTypeKindTyCon openTypeKindTyConName = mkPrimTyConName FSLIT("?") openTypeKindTyConKey openTypeKindTyCon unliftedTypeKindTyConName = mkPrimTyConName FSLIT("#") unliftedTypeKindTyConKey unliftedTypeKindTyCon -ubxTupleKindTyConName = mkPrimTyConName FSLIT("(##)") ubxTupleKindTyConKey ubxTupleKindTyCon +ubxTupleKindTyConName = mkPrimTyConName FSLIT("(#)") ubxTupleKindTyConKey ubxTupleKindTyCon argTypeKindTyConName = mkPrimTyConName FSLIT("??") argTypeKindTyConKey argTypeKindTyCon funTyConName = mkPrimTyConName FSLIT("(->)") funTyConKey funTyCon -eqCoercionKindTyConName = mkWiredInName gHC_PRIM (mkOccNameFS tcName (FSLIT(":=:"))) - eqCoercionKindTyConKey Nothing (ATyCon eqCoercionKindTyCon) - BuiltInSyntax - mkPrimTyConName occ key tycon = mkWiredInName gHC_PRIM (mkOccNameFS tcName occ) key Nothing -- No parent object @@ -402,9 +391,6 @@ isCoSuperKind (NoteTy _ ty) = isCoSuperKind ty isCoSuperKind (TyConApp kc []) = kc `hasKey` coSuperKindTyConKey isCoSuperKind other = False -isCoercionKindTyCon kc = kc `hasKey` eqCoercionKindTyConKey - - ------------------- -- lastly we need a few functions on Kinds