X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FPprCore.lhs;h=84bf8689c60cdc49c7cda5ae709daf0932941fa3;hp=e2109375fbd4698267dd633b9f597d973d8d2f91;hb=f96194794bf099020706c3816d1a5678b40addbb;hpb=4bc25e8c30559b7a6a87b39afcc79340ae778788 diff --git a/compiler/coreSyn/PprCore.lhs b/compiler/coreSyn/PprCore.lhs index e210937..84bf868 100644 --- a/compiler/coreSyn/PprCore.lhs +++ b/compiler/coreSyn/PprCore.lhs @@ -27,6 +27,7 @@ import DataCon import TyCon import Type import Coercion +import StaticFlags import BasicTypes import Util import Outputable @@ -70,13 +71,16 @@ pprTopBinds binds = vcat (map pprTopBind binds) pprTopBind :: OutputableBndr a => Bind a -> SDoc pprTopBind (NonRec binder expr) - = ppr_binding (binder,expr) $$ text "" + = ppr_binding (binder,expr) $$ blankLine -pprTopBind (Rec binds) +pprTopBind (Rec []) + = ptext (sLit "Rec { }") +pprTopBind (Rec (b:bs)) = vcat [ptext (sLit "Rec {"), - vcat (map ppr_binding binds), + ppr_binding b, + vcat [blankLine $$ ppr_binding b | b <- bs], ptext (sLit "end Rec }"), - text ""] + blankLine] \end{code} \begin{code} @@ -114,9 +118,11 @@ ppr_expr _ (Lit lit) = ppr lit ppr_expr add_par (Cast expr co) = add_par $ sep [pprParendExpr expr, - ptext (sLit "`cast`") <+> parens (pprCo co)] + ptext (sLit "`cast`") <+> pprCo co] where - pprCo co = sep [ppr co, dcolon <+> ppr (coercionKindPredTy co)] + pprCo co | opt_SuppressCoercions = ptext (sLit "...") + | otherwise = parens + $ sep [ppr co, dcolon <+> ppr (coercionKindPredTy co)] ppr_expr add_par expr@(Lam _ _)