X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypes%2FKind.lhs;h=e058fb349e7dca1b394bb9edb7ab683778d3c0c5;hb=1fb1ab5d53a09607e7f6d2450806760688396387;hp=ab77d19805450336ba625cef9f6cd7b76fa96f45;hpb=e7498a3ee1d0484d02a9e86633cc179c76ebf36e;p=ghc-hetmet.git diff --git a/ghc/compiler/types/Kind.lhs b/ghc/compiler/types/Kind.lhs index ab77d19..e058fb3 100644 --- a/ghc/compiler/types/Kind.lhs +++ b/ghc/compiler/types/Kind.lhs @@ -17,7 +17,9 @@ module Kind ( hasMoreBoxityInfo, resultKind, argKind, - isUnboxedKind, isTypeKind, + pprKind, pprParendKind, + + isUnboxedTypeKind, isTypeKind, isBoxedTypeKind, notArrowKind ) where @@ -45,9 +47,13 @@ isTypeKind :: Kind -> Bool isTypeKind TypeKind = True isTypeKind other = False -isUnboxedKind :: Kind -> Bool -isUnboxedKind UnboxedTypeKind = True -isUnboxedKind other = False +isBoxedTypeKind :: Kind -> Bool +isBoxedTypeKind BoxedTypeKind = True +isBoxedTypeKind other = False + +isUnboxedTypeKind :: Kind -> Bool +isUnboxedTypeKind UnboxedTypeKind = True +isUnboxedTypeKind other = False hasMoreBoxityInfo :: Kind -> Kind -> Bool @@ -85,11 +91,11 @@ Printing instance Outputable Kind where ppr sty kind = pprKind kind -pprKind TypeKind = ppStr "*" -pprKind BoxedTypeKind = ppStr "*b" -pprKind UnboxedTypeKind = ppStr "*u" -pprKind (ArrowKind k1 k2) = ppSep [pprKind_parend k1, ppStr "->", pprKind k2] +pprKind TypeKind = ppChar '*' -- Can be boxed or unboxed +pprKind BoxedTypeKind = ppChar '*' +pprKind UnboxedTypeKind = ppStr "*#" -- Unboxed +pprKind (ArrowKind k1 k2) = ppSep [pprParendKind k1, ppStr "->", pprKind k2] -pprKind_parend k@(ArrowKind _ _) = ppBesides [ppLparen, pprKind k, ppRparen] -pprKind_parend k = pprKind k +pprParendKind k@(ArrowKind _ _) = ppBesides [ppLparen, pprKind k, ppRparen] +pprParendKind k = pprKind k \end{code}