From 2277d0ea9533d5da5b45d7503a792c282bc1b37e Mon Sep 17 00:00:00 2001 From: "Dr. ERDI Gergo" <gergo@erdi.hu> Date: Wed, 12 Mar 2014 20:38:26 +0800 Subject: [PATCH] pprIfaceContextArr: print a context including the "=>" arrow --- compiler/iface/IfaceSyn.lhs | 2 +- compiler/iface/IfaceType.lhs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/compiler/iface/IfaceSyn.lhs b/compiler/iface/IfaceSyn.lhs index b58230543466..3691fcabc07f 100644 --- a/compiler/iface/IfaceSyn.lhs +++ b/compiler/iface/IfaceSyn.lhs @@ -1152,7 +1152,7 @@ instance Outputable IfaceAT where pprIfaceDeclHead :: IfaceContext -> OccName -> [IfaceTvBndr] -> SDoc pprIfaceDeclHead context thing tyvars - = hsep [pprIfaceContext context, parenSymOcc thing (ppr thing), + = hsep [pprIfaceContextArr context, parenSymOcc thing (ppr thing), pprIfaceTvBndrs tyvars] pp_condecls :: OccName -> IfaceConDecls -> SDoc diff --git a/compiler/iface/IfaceType.lhs b/compiler/iface/IfaceType.lhs index 822e3da75a6c..8c1791a16abe 100644 --- a/compiler/iface/IfaceType.lhs +++ b/compiler/iface/IfaceType.lhs @@ -22,7 +22,7 @@ module IfaceType ( toIfaceCoercion, -- Printing - pprIfaceType, pprParendIfaceType, pprIfaceContext, + pprIfaceType, pprParendIfaceType, pprIfaceContext, pprIfaceContextArr, pprIfaceIdBndr, pprIfaceTvBndr, pprIfaceTvBndrs, pprIfaceBndrs, tOP_PREC, tYCON_PREC, noParens, maybeParen, pprIfaceForAllPart, @@ -253,7 +253,7 @@ ppr_ty ctxt_prec ty@(IfaceForAllTy _ _) -- generality pprIfaceForAllPart :: Outputable a => [IfaceTvBndr] -> [a] -> SDoc -> SDoc pprIfaceForAllPart tvs ctxt doc - = sep [ppr_tvs, pprIfaceContext ctxt, doc] + = sep [ppr_tvs, pprIfaceContextArr ctxt, doc] where ppr_tvs | null tvs = empty | otherwise = ptext (sLit "forall") <+> pprIfaceTvBndrs tvs <> dot @@ -386,14 +386,14 @@ instance Binary IfaceTyLit where _ -> panic ("get IfaceTyLit " ++ show tag) ------------------- -pprIfaceContext :: Outputable a => [a] -> SDoc +pprIfaceContextArr :: Outputable a => [a] -> SDoc -- Prints "(C a, D b) =>", including the arrow -pprIfaceContext [] = empty -pprIfaceContext theta = ppr_preds theta <+> darrow +pprIfaceContextArr [] = empty +pprIfaceContextArr theta = pprIfaceContext theta <+> darrow -ppr_preds :: Outputable a => [a] -> SDoc -ppr_preds [pred] = ppr pred -- No parens -ppr_preds preds = parens (sep (punctuate comma (map ppr preds))) +pprIfaceContext :: Outputable a => [a] -> SDoc +pprIfaceContext [pred] = ppr pred -- No parens +pprIfaceContext preds = parens (sep (punctuate comma (map ppr preds))) instance Binary IfaceType where put_ bh (IfaceForAllTy aa ab) = do -- GitLab