X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2FTysPrim.lhs;h=55ee249d4eb0c061964d238bcfec3f6054200e75;hb=1525a5819aa3a6eae8d8b05cfe348a2384da0c84;hp=2f6168bafb0cf1c8e1146c37d7ff58cc9816650f;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/prelude/TysPrim.lhs b/compiler/prelude/TysPrim.lhs index 2f6168b..55ee249 100644 --- a/compiler/prelude/TysPrim.lhs +++ b/compiler/prelude/TysPrim.lhs @@ -50,7 +50,8 @@ import OccName ( mkOccNameFS, tcName, mkTyVarOcc ) import TyCon ( TyCon, ArgVrcs, mkPrimTyCon, mkLiftedPrimTyCon, PrimRep(..) ) import Type ( mkTyConApp, mkTyConTy, mkTyVarTys, mkTyVarTy, - unliftedTypeKind, liftedTypeKind, openTypeKind, + unliftedTypeKind, unboxedTypeKind, + liftedTypeKind, openTypeKind, Kind, mkArrowKinds, TyThing(..) ) @@ -196,13 +197,17 @@ pcPrimTyCon name arg_vrcs rep where arity = length arg_vrcs kind = mkArrowKinds (replicate arity liftedTypeKind) result_kind - result_kind = unliftedTypeKind -- all primitive types are unlifted + result_kind = case rep of + PtrRep -> unliftedTypeKind + _other -> unboxedTypeKind pcPrimTyCon0 :: Name -> PrimRep -> TyCon pcPrimTyCon0 name rep = mkPrimTyCon name result_kind 0 [] rep where - result_kind = unliftedTypeKind -- all primitive types are unlifted + result_kind = case rep of + PtrRep -> unliftedTypeKind + _other -> unboxedTypeKind charPrimTy = mkTyConTy charPrimTyCon charPrimTyCon = pcPrimTyCon0 charPrimTyConName WordRep