X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Ftypes%2FTypeRep.lhs;fp=compiler%2Ftypes%2FTypeRep.lhs;h=a7cfd5a10a961c3f4df5ae4a0630cdc5bc00e22e;hp=1be55d76a5048edc5b2693621d50050ef062b8a2;hb=1e3348f855578fc60ed52fa62bb4846798a5cd3e;hpb=d05212cf8475778cf41758c04f4eee510ae47e98 diff --git a/compiler/types/TypeRep.lhs b/compiler/types/TypeRep.lhs index 1be55d7..a7cfd5a 100644 --- a/compiler/types/TypeRep.lhs +++ b/compiler/types/TypeRep.lhs @@ -25,7 +25,7 @@ module TypeRep ( -- Kinds liftedTypeKind, unliftedTypeKind, openTypeKind, - argTypeKind, ubxTupleKind, + argTypeKind, ubxTupleKind, ecKind, isLiftedTypeKindCon, isLiftedTypeKind, mkArrowKind, mkArrowKinds, isCoercionKind, coVarPred, @@ -343,13 +343,16 @@ kindTyConType :: TyCon -> Type kindTyConType kind = TyConApp kind [] -- | See "Type#kind_subtyping" for details of the distinction between these 'Kind's -liftedTypeKind, unliftedTypeKind, openTypeKind, argTypeKind, ubxTupleKind :: Kind +liftedTypeKind, unliftedTypeKind, openTypeKind, argTypeKind, ubxTupleKind, ecKind :: Kind liftedTypeKind = kindTyConType liftedTypeKindTyCon unliftedTypeKind = kindTyConType unliftedTypeKindTyCon openTypeKind = kindTyConType openTypeKindTyCon argTypeKind = kindTyConType argTypeKindTyCon ubxTupleKind = kindTyConType ubxTupleKindTyCon +ecKind = liftedTypeKind `mkArrowKind` (liftedTypeKind `mkArrowKind` liftedTypeKind) +-- NOTE: if you change ecKind, you must also change the explicit kind signatures +-- on hetmet_{brak,esc,csp} in GHC.Hetmet.CodeTypes -- | Given two kinds @k1@ and @k2@, creates the 'Kind' @k1 -> k2@ mkArrowKind :: Kind -> Kind -> Kind