From 24c13c1369c2ed21123c0c6eba7a7d7ab0313b86 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Fri, 2 Oct 2009 11:15:49 +0000 Subject: [PATCH] Fix pretty-printing precedence for equality constraints --- compiler/types/TypeRep.lhs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compiler/types/TypeRep.lhs b/compiler/types/TypeRep.lhs index c3bd746..5c29087 100644 --- a/compiler/types/TypeRep.lhs +++ b/compiler/types/TypeRep.lhs @@ -431,7 +431,13 @@ pprTypeApp tc tys = ppr_type_app TopPrec (getName tc) tys pprPred :: PredType -> SDoc pprPred (ClassP cls tys) = pprClassPred cls tys pprPred (IParam ip ty) = ppr ip <> dcolon <> pprType ty -pprPred (EqPred ty1 ty2) = sep [ppr ty1, nest 2 (ptext (sLit "~")), ppr ty2] +pprPred (EqPred ty1 ty2) = sep [ ppr_type FunPrec ty1 + , nest 2 (ptext (sLit "~")) + , ppr_type FunPrec ty2] + -- Precedence looks like (->) so that we get + -- Maybe a ~ Bool + -- (a->a) ~ Bool + -- Note parens on the latter! pprClassPred :: Class -> [Type] -> SDoc pprClassPred clas tys = ppr_type_app TopPrec (getName clas) tys -- 1.7.10.4